在当前的 Plone 5 coredev buildout 中,我正在尝试为在 cssregistry.xml 中注册一些 css 的附加组件编写 GenericSetup 卸载配置文件。在 Plone 5 中,portal_css 和 portal_javascripts 是空的,所有这些资源现在都自动加载到资源注册表中。但是没有相应的卸载。如果我有一个 css 资源,我会在资源注册表中获得以下记录:
<record name="plone.resources/resource-myaddon-stylesheets.conf">...</record>
<record name="plone.resources/resource-myaddon-stylesheets.css">...</record>
<record name="plone.resources/resource-myaddon-stylesheets.deps">...</record>
<record name="plone.resources/resource-myaddon-stylesheets.export">...</record>
<record name="plone.resources/resource-myaddon-stylesheets.init">...</record>
<record name="plone.resources/resource-myaddon-stylesheets.js">...</record>
<record name="plone.resources/resource-myaddon-stylesheets.url">...</record>
(即使我没有 js 资源,我也得到了所有这些,并且它们都有一个空值,除了 css 记录。)
此外,<element>以下记录中还有一个新的:
<record name="plone.bundles/plone-legacy.resources" interface="Products.CMFPlone.interfaces.resources.IBundleRegistry" field="resources">
...
<value>
...
<element>resource-myaddon-stylesheets</element>
</value>
</record>
当我创建我的 GS 卸载配置文件时,删除 registry.xml 中的前 7 条记录非常简单。但是如何<element>从后一张唱片中删除单曲?我查看了 plone.app.registry 中的测试,但似乎没有涵盖删除元素。
最终,如果可以像安装一样自动处理卸载,那就太好了。