Могут ли несколько страниц использовать один и тот же экземпляр портлета в Liferay? - PullRequest
4 голосов
/ 21 июля 2011

Для веб-сайта, работающего на Liferay EE 6.0 SP1, будут случаи, когда некоторым страницам потребуется «совместно использовать» один и тот же экземпляр определенных портлетов, но другие страницы будут иметь свои собственные экземпляры.

Например (надуманный, но, надеюсь, иллюстративный), рассмотрим портлет с предпочтением, которое меняет цвет фона портлета.

Предположим, что у нас есть следующие страницы (цвет фона портлета на этой странице следует за именем страницы в этом списке):

Home          (green)
├─ About      (blue)
│  └─ Contact (blue)
├─ Products   (orange)
│  ├─ AXL-900 (orange)
│  └─ VCC-218 (orange)
├─ Support    (red)
│  └─ VIP     (gold)
└─ Legal      (green)

Обратите внимание, что на нескольких страницах портлет имеет одинаковое предпочтение цвета фона. Пока это достаточно просто; вы просто добавляете отдельный экземпляр портлета на каждую страницу и устанавливаете предпочтение соответствующим образом.

Однако менеджеры контента не хотят управлять цветом фона на странице; они хотят, например, изменить цвет фона для портлета на всех страницах «О программе» на фиолетовый, все одновременно (это имеет смысл; он автоматизирует то, что в противном случае было бы ручным [и по определению подвержено ошибкам) ] процесс).

Для того, чтобы это работало, либо страницы «О нас», либо «Контакт», например, должны были бы использовать один и тот же экземпляр портлета ... или они должны были бы иметь отдельные экземпляры, но оба экземпляра совместно использовали бы одинаковые значения предпочтений. Или, возможно, есть другой подход.

Есть ли способ заставить эту работу?

Ответы [ 3 ]

1 голос
/ 10 августа 2011

Похоже, что путь состоит в том, чтобы создать именованные наборы параметров и позволить каждой странице иметь свой собственный экземпляр портлета.

В примере из OP на странице «Продукты» будет уникальный экземпляр портлета, который будет настроен для использования, например, «оранжевого» набора настроек. Любые изменения, внесенные в настройки портлета, впоследствии будут влиять на любые другие портлеты, использующие набор параметров «оранжевого цвета».

См. http://www.liferay.com/community/forums/-/message_boards/message/10361805#_19_message_10382903 для получения дополнительной информации.

0 голосов
/ 09 сентября 2011

Да, это возможно, создав неиспускаемый портлет и используя область действия для этих страниц. Вот вики-страница Liferay по областям применения: http://www.liferay.com/community/wiki/-/wiki/Main/Scope

UPD: Существует также несколько параметров, специфичных для Liferay, которые позволяют вам управлять областью для предпочтений портлета: «предпочтения-для всей компании», «предпочтения-уникально-для-макета» и «предпочтения-принадлежащие-группе» (все установить / сбросить через liferay-portlet.xml).

Подробнее о них здесь: http://content.liferay.com/4.3/doc/devel/liferay_4_portlet_development_guide/multipage/ch02.html И здесь: http://www.liferay.com/community/forums/-/message_boards/message/10931559/maximized

0 голосов
/ 07 августа 2011

У вас есть собственный портлет, и вы хотите, чтобы он был экземпляром или не экземпляром в зависимости от места его размещения, верно? (как сказано в ссылке на ваш комментарий)

Одной из возможностей является развертывание другой версии вашего портлета с немного другим именем (portlet1 и portlet2), и теперь на другом (portlet1) у вас есть настройка instanceable , а в другой (portlet2) она у вас есть. без instanceable . Это не хороший способ, но некоторые из коробки думают.

Также, если вы могли бы иначе настроить настраиваемую вещь так, чтобы одно окно портлета включало эту настройку, а другое выключало, это было бы прекрасно, но я не знаю много об этом. Может быть, все знают Google или кто-то еще может помочь в его / ее собственном ответе.

Btw. Почему бы не спросить в комментариях отвечающего на другой вопрос и посмотреть этот?

Edit_1 : После вашего комментария я снова исследовал проблему и обнаружил свойство Portlet Prefences , применение которого было описано на страницах Liferay и один форум . По крайней мере, один комментарий на форуме, который я упомянул, был близок к тому поведению, о котором вы говорили. Также на страницах Liferay были примеры, возможно, интересного типа настроек.

...