最简单的方法是什么?我在profiles / default的portlets.xml文件中添加了它。现在,当我转到@@ manage-portlets时,它可以在“添加portlet”下拉列表中找到。但我需要它自动创建。
是否可以在我的profiles / default中的左右列显式指定我想要的portlet集?
答案 0 :(得分:4)
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>
答案 1 :(得分:4)
您可以使用portlets.xml文件中的portlets.Classic
元素,通过配置了模板和宏名称的assignment
portlet注册经典portlet:
<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的详细信息,请参阅Portlets section of the GenericSetup manual on Plone.org或the original PLIP。
属性与portlet dataprovider接口匹配,请参阅Classic Portlet source code以获取Classic Portlet的接口定义。
答案 2 :(得分:2)
对于没有经验的产品开发人员(甚至其他人)来说,实现这种自动化的最简单方法是:
这个xml包含了你需要的所有东西:注册和分配......实际上,即使是更多的东西也可以是一件好事,可以清理它里面不需要的东西。