如何在安装产品时在门户的根目录添加经典portlet?

时间:2011-04-13 17:08:48

标签: plone genericsetup

最简单的方法是什么?我在profiles / default的portlets.xml文件中添加了它。现在,当我转到@@ manage-portlets时,它可以在“添加portlet”下拉列表中找到。但我需要它自动创建。

是否可以在我的profiles / default中的左右列显式指定我想要的portlet集?

3 个答案:

答案 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.orgthe original PLIP

属性与portlet dataprovider接口匹配,请参阅Classic Portlet source code以获取Classic Portlet的接口定义。

答案 2 :(得分:2)

对于没有经验的产品开发人员(甚至其他人)来说,实现这种自动化的最简单方法是:

  1. 做手动配置o     如同任何其他共同的任务     plone用户/管理员,进去     门户网站的根目录并添加了     你想要的portlet。
  2. 进入zmi - &gt; portal_setup - &gt;出口 标签
  3. 选择portlet步骤并将其导出
  4. 只在tar.gz中使用portlets.xml 得到。
  5. 这个xml包含了你需要的所有东西:注册和分配......实际上,即使是更多的东西也可以是一件好事,可以清理它里面不需要的东西。

相关问题