最简单的方法是什么?我在profiles/default 的portlets.xml 文件中添加了它。当我转到@@manage-portlets 时,它现在在“添加portlet”下拉列表中可用。但我需要它自动创建。
是否可以在我的配置文件/默认值的左右列中明确指定我想要的一组 portlet?
最简单的方法是什么?我在profiles/default 的portlets.xml 文件中添加了它。当我转到@@manage-portlets 时,它现在在“添加portlet”下拉列表中可用。但我需要它自动创建。
是否可以在我的配置文件/默认值的左右列中明确指定我想要的一组 portlet?
您可以使用portlets.xml 文件中的元素通过 portlet注册您的经典 portlet portlets.Classic
,并使用模板和宏名称进行配置:assignment
<assignment
manager="plone.rightcolumn"
category="context"
key="/"
type="portlets.Classic"
name="my-classic-portlet"
visible="1">
<property name="template">templatename</property>
<property name="macro">macroname-found-in-template</property>
</assignment>
有关Portlet 分配和 GenericSetup 的详细信息,请参阅Plone.org或原始 PLIP上的 GenericSetup 手册的 Portlets 部分。
这些属性与 portlet 数据提供者接口相匹配,请参阅Classic Portlet 源代码以了解 Classic Portlet 的接口定义。
portlets.xml 文件做了一些不同的事情,注册一种可以添加的portlet 和实际添加一个portlet 是有区别的,两者都可以在portlets.xml 中完成。您需要使用“assignment”元素来添加 portlet:
<assignment
manager="plone.rightcolumn"
category="context"
key="/plone"
type="plone.portlet.static.Static"
name="foo-portlet">
<property name="header">Foo Portlet Title</property>
<property name="text">Foo portlet contents...</property>
</assignment>
对于没有经验的产品开发人员(甚至其他人)来说,实现这种自动化的最简单方法是:
此 xml 包含您需要的所有内容:注册和分配...实际上,甚至还有更多内容,因此清理其中不需要的内容可能是一件好事。