Как я могу добавить классический портлет в корень портала, когда мой продукт установлен?
Какой самый простой способ сделать это? Я добавил его в файл 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>
Для неопытного разработчика продукта (даже для других) самый простой способ достичь этого вида автоматизации:
- выполните ручную настройку или назначение, как любой другой обычный пользователь / администратор, зайдя в корень портала и добавив нужные портлеты.
- Зайдите в zmi -> portal_setup -> вкладка экспорта
- выберите шаг портлета и экспортируйте его
- использовать portlets.xml в tar.gz только что получил.
Этот XML-файл содержит все, что вам нужно: регистрации и назначения... на самом деле, даже немного больше, поэтому может быть полезно очистить то, что в нем не нужно.