Liferay: динамическое заполнение поля структуры «выбрать»

Я создаю тему Liferay, в которой есть две колонки рядом. В правом столбце будет отображаться веб-контент.

Моя реализация направлена ​​на создание меню (левый столбец), которое получает заголовки из заголовков веб-контента и строит иерархию (родительский, дочерний) на основе поля структуры «выбрать», которое я добавил к каждому веб-контенту.введите здесь описание изображения

До сих пор я мог построить эту систему, используя

Liferay.Service('/journalarticle/get-articles'...)

и некоторый код javascript.

Теперь поля «выбрать», которые я использую в своей структуре, имеют предопределенные жестко запрограммированные параметры. https://i.stack.imgur.com/toMW1.png" alt="введите здесь описание изображения">

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


person chadct    schedule 21.12.2015    source источник


Ответы (1)


@chadct: AFAIK Liferay не предоставляет эту функциональность по умолчанию, это не очень хорошая практика для динамического заполнения значения в поле структуры. Но вы хотели добиться этой функциональности, тогда есть 4 решения:

  1. Добавьте одно текстовое поле в структуру, содержащую articleId вашего родительского веб-контента.
  2. Вы можете добавить связанную статью для этого веб-контента и написать какой-то код, чтобы получить статью, которая считается родительской для этого веб-контента.
  3. Создайте шаблон формы Select DOM options, который содержит список статей в соответствии с groupId и отображает в режиме просмотра веб-контента, затем вы можете выбрать родительский контент оттуда и обновить контент, расширяемый с помощью articleId родительского веб-контента. Помните, что это содержит почтовый запрос AJAX. и только показать, что контроль, кто является администратором или зарегистрированным пользователем или зависит от роли. Обратитесь к вызову сообщений AJAX< /а>
  4. Подключите edit_structure.jsp и добавьте сюда свою логику, как хотите.

Примечание: последнее — худшее, но также и решение. Помните, что вам нужно изменить текущее решение.

person Community    schedule 22.12.2015
comment
спасибо за отзыв, да. Вчера я вернулся к использованию именно того, что вы описали в варианте 1. - person chadct; 22.12.2015