在安装产品时,如何在门户的根位置添加经典portlet ?



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

是否有可能显式地指定我想在配置文件/默认值中的左右列上的portlet集?

portlet .xml文件做了一些不同的事情,注册一个可以添加的类型的portlet和实际添加portlet之间是有区别的,这两者都可以在portlet .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>

您可以使用portlet .xml文件中的assignment元素,通过配置了模板和宏名的portlets.Classic 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>

请参阅Plone.org或原始PLIP上的GenericSetup手册的Portlet部分,了解有关Portlet分配和GenericSetup的详细信息。

属性匹配portlet数据提供程序接口,请参阅Classic portlet源代码以获取Classic portlet的接口定义。

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

  1. 手动配置像任何其他公共的分配一样电话用户/管理员,进入门户的根,并添加
  2. go in zmi -> portal_setup -> export标签
  3. 选择portlet步骤并将其导出
  4. 在tar.gz文件中使用portlet .xml。

这个XML包含了所有你需要的:注册和分配…实际上,甚至更多的东西,所以可能是一件好事,清理掉不需要的东西

最新更新