在 Plone 中禁用站点范围内的 portlet 类型
在 Plone 4.1 中禁用站点范围内的 portlet 类型的最佳方法是什么?默认设置提供约 10 个 portlet 类型,但站点用户仅拥有少数几种用例(静态文本、新闻)。
What's the best way to disable portlet types site-wide in Plone 4.1? The default setup gives ~10 portlet types, but the site users have use case only for few (static text, news).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Portlet 通过 zope 组件机制的
IPortletType
接口注册为实用程序。当使用 portlets.xml 注册 portlet 时,会为您生成这些注册。然后,Portlet 管理 UI 使用这些实用程序注册来枚举您可以添加的 Portlet。幸运的是,
plone.portlets.utils
提供了一个方便的 API 来再次注销这些 portlet:addview
参数是一个字符串,与 portlet.xml 注册中使用的相同。例如,日历 portlet 注册为:因此,您可以通过运行以下代码片段从站点中删除日历 portlet:
您还可以仅使用 GenericSetup portlets.xml 文件在设置期间删除 portlet,只需列出 portlet
addview
参数并向元素添加remove
属性:感谢 David Glick 为我们找到了该属性。
Portlets are registered as utilities with the
IPortletType
interface with the zope component machinery. These registrations are generated for you when registering portlets with portlets.xml. The portlet management UI then uses these utility registrations to enumerate portlets you can add.Luckily,
plone.portlets.utils
provides a handy API to unregister these portlets again:The
addview
parameter is a string, and is the same as used in a portlet.xml registration. For example, the calendar portlet is registered as:You can thus remove the calendar portlet from your site by running the following code snippet:
You can also just use the GenericSetup portlets.xml file to remove the portlets during setup time, just list the portlets
addview
parameter and add aremove
attribute to the element:Thanks to David Glick for finding that one for us.