Обслуживание статического HTML, защищенного разрешениями в Plone
Я хотел бы использовать что-то вроде фрагмента ZCML ниже в моем файле ZCML для обслуживания статических файлов HTML из каталога. Файлы должны быть защищены с помощью разрешения, такого как "cmf.ManagePortal", "zope.ManageContent" или аналогичного.
<browser:resourceDirectory
directory="resource"
name="myresource"
permission="zope.ManageContent" />
В настоящее время простые HTML-файлы анализируются, как если бы они были шаблонами страниц zope, а это не то, что мне нужно. Согласно http://bluebream.zope.org/doc/1.0/manual/browserresource.html.html, расширения.pt и.zpt анализируются как шаблоны страниц.
Я просто хочу служить HTML как есть.
Я знаю о <plone:static ...>
который доступен с plone.resource, но он не поддерживает установку разрешений, что я хотел бы иметь для моего сценария использования.
Я ищу руководство с одним из следующих:
a) Способ "отменить регистрацию расширений.html от анализа в качестве шаблонов страниц в каталоге ресурсов.
б) Способ применения разрешений к статическому каталогу, объявленному с использованием <plone:static ...>
Следующее работает, когда добавлено в мой ZCML, но не поддерживает установку разрешения:
<include package="plone.resource" />
<plone:static
type="theme"
name="build"
directory="_build/html"
/>
1 ответ
Я могу только представить себе обезьяну-патч для извлечения записи из словаря std lib mimetypes.types_map. Возможно, вам захочется нажать клавишу ".htm", а затем перенастроить вывод расширения Sphinx, чтобы вы могли сохранить ".html" в целости и сохранности.
Вы можете закодировать это непосредственно в init.py вашего пакета или зарегистрировать его в ZCA при помощи коллективно.monkeypatcher.