我想“注销”使用 configure zcml 和指令注册的资源目录
我已经卸载了最初注册资源目录的自定义加载项,但其他包仍然能够调用 /++resource++my.package 并从卸载的加载项中引入资源......是否有取消注册的指令正确地,还是通过 ZMI 或一次性脚本以某种方式?
您在通过 Plone 控制面板安装和卸载持久配置以及从构建中实际移除鸡蛋之间感到困惑。
资源目录在包 ZCML 文件中注册,并且不是持久的。您必须从构建中删除包 egg 才能加载这些 ZCML 文件。
如果您出于某种原因需要包 egg 提供的代码但绝对不想注册资源,则需要使用z3c.unconfigure
包再次取消注册资源目录。
不过,除非他们积极干预任何事情,否则我认为您没有必要这样做。请注意,让资源 URL 在您的 Plone 站点中仍然可用是绝对没有害处的。
如果您不使用它,为什么不直接从您的包中删除不必要的注册?
另一种选择是为特定浏览器层注册资源目录(我相信这在 ZCML 中是可能的),然后只使用 GenericSetup 中的 browserlayer.xml 将该层与您的包一起安装。不过,这更复杂。
然而,正如 Martijn 所说,将其留在原处并没有什么坏处。
你想使用 z3c.unconfigure