2014-03-27 67 views
3

担保服务静态HTML我想在我的ZCML文件使用以下类似的ZCML片段从目录提供静态HTML文件。这些文件必须通过诸如“cmf.ManagePortal”,“zope.ManageContent”或类似的权限进行保护。通过权限在Plone

<browser:resourceDirectory 
directory="resource" 
name="myresource" 
permission="zope.ManageContent" /> 

当前纯html文件被解析,就好像它们是zope页面模板,这不是我想要的。根据http://bluebream.zope.org/doc/1.0/manual/browserresource.html#directory-resource.html,.pt和.zpt扩展名被解析为页面模板。

我只是想服务于HTML作为是。

我知道<plone:static ...>它可以与plone.resource一起使用,但它不支持设置权限,这是我想要的用例。

我找指导与下列之一:

一)为“注销从HTML扩展的一种方式被解析为页面 模板资源目录时

b)一个应用权限到一个静态目录的方式宣告使用 <plone:static ...>

下工作时,添加到我的ZCML但不支持设置权限:

<include package="plone.resource" /> 
    <plone:static 
     type="theme" 
     name="build" 
     directory="_build/html" 
    /> 
+0

也许唯一的办法就是将它们作为页面模板提供。你有什么问题(除了CPU时间浪费)? –

+1

@keul,它可以工作,但是Sphinx吐出的HTML显然不足以形成解析器。结果我不断收到错误。我真的希望避免做太多的修补。看来我需要修复狮身人面像或修补Zope。 –

回答

0

我只能想象猴子补丁弹出从标准库的mimetypes.types_map词典中的条目。也许你会想要弹出关键的'.htm',然后重新配置你的Sphinx扩展输出,以便保持'.html'的完整。

您可以直接在您的软件包的init .py上编写代码,或者使用collective.monkeypatcher将其注册到ZCA中。