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

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

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

3 ответа

Решение

Вы можете зарегистрировать свой классический портлет через 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.

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

Файл 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>

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

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

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

Другие вопросы по тегам