Как я могу добавить классический портлет в корень портала, когда мой продукт установлен? - PullRequest
2 голосов
/ 13 апреля 2011

Какой самый простой способ сделать это? Я добавил его в файл portlets.xml в profile / default. Теперь он доступен в раскрывающемся списке «Добавить портлет», когда я перехожу к @@ manage-portlets. Но мне нужно, чтобы он автоматически создавался.

Можно ли явно указать желаемый набор портлетов в правом и левом столбцах внутри моего профиля / default?

Ответы [ 3 ]

4 голосов
/ 13 апреля 2011

Вы можете зарегистрировать свой классический портлет через портлет portlets.Classic, настроенный с помощью шаблона и имени макроса, используя элемент assignment в файле portlets.xml:

<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>

См. Раздел портлетов руководства GenericSetup на Plone.org или исходного PLIP для получения подробной информации о назначениях портлетов и GenericSetup.

Свойства соответствуют интерфейсу поставщика данных портлета, см. Исходный код классического портлета для определения интерфейса для классического портлета.

4 голосов
/ 13 апреля 2011

Файл portlets.xml делает несколько разных вещей, и существует разница между регистрацией вида портлета, который может быть добавлен, и фактическим добавлением портлета, оба из которых можно сделать в portlets.xml. Для добавления портлета необходимо использовать элемент «назначение»:

<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>
2 голосов
/ 14 апреля 2011

Для неопытного разработчика продукта (даже для других) самый простой способ достичь этого вида автоматизации:

  1. сделать ручную настройку o назначение как любой другой общий Plone пользователь / администратор, входя в корень портала и добавление портлеты, которые вы хотите.
  2. Зайдите в zmi -> portal_setup -> export Вкладка
  3. выберите шаг портлета и экспортируйте его
  4. просто используйте portlets.xml в tar.gz есть.

этот xml содержит все, что вам нужно: регистрации и назначения ... на самом деле, даже немного больше, поэтому может быть полезно очистить то, что в нем не нужно.

...