2015-12-21 4 views
2

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

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

До сих пор я был в состоянии построить эту систему, используя

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

и некоторые Javascript кодирования.

Теперь поля «select», которые я использую в моей структуре, имеют предопределенные жестко закодированные параметры. enter image description here

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

ответ

2

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

  1. Добавить одно текстовое поле в структуре, которая содержит ArticleID вашего веб-контента родительского.
  2. Вы можете добавить соответствующую статью к этому веб-контенту и написать какой-то код, чтобы получить статью, которая рассматривается как родительский элемент этого веб-контента.
  3. Создать шаблон формы формы DOM, содержащий список статей в соответствии с groupId и рендерингом в режиме просмотра веб-контента, после чего вы можете выбрать родительский контент и обновить контент expando с помощью articleId родительского webcontent. Помните, что это запрос AJAX. и только покажите, кто контролирует, кто является пользователем admin или loggedin или зависит от роли. Refer AJAX post calling
  4. Крюк edit_structure.jsp и добавьте свою логику здесь, как хотите.

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

+0

спасибо за отзыв, да Вчера я вернулся к использованию именно того, что вы описали в варианте 1 – chadct