我想在我的ZCML文件中使用类似ZCML代码段的内容来从目录中提供静态HTML文件。这些文件必须通过诸如" cmf.ManagePortal"," zope.ManageContent"等权限来保护。或类似的。
<browser:resourceDirectory
directory="resource"
name="myresource"
permission="zope.ManageContent" />
目前普通的html文件被解析为好像它们是zope页面模板,这不是我想要的。根据{{3}} .html,.pt和.zpt扩展名被解析为页面模板。
我只想按原样提供html。
我知道plone.resource提供的<plone:static ...>
但它不支持设置权限,这是我想要的用例。
我正在寻找以下其中一项的指导:
a)解析.html扩展名被解析为页面的方法 资源目录中的模板。
b)一种将权限应用于使用声明的静态目录的方法
<plone:static ...>
以下适用于我的ZCML,但不支持设置权限:
<include package="plone.resource" />
<plone:static
type="theme"
name="build"
directory="_build/html"
/>
答案 0 :(得分:0)
我只能想象一个猴子补丁来从std lib的mimetypes.types_map字典中弹出一个条目。也许你想要弹出键'.htm',然后重新配置你的Sphinx扩展输出,这样你就可以保持'.html'不变。
您可以直接在软件包的 init .py上进行编码,或者使用collective.monkeypatcher在ZCA中注册。