Liferay 7.2: открытие URL-адреса просмотра ресурса издателя в шаблоне отображаемой страницы

Я использую Liferay 7.2. Я хочу отображать ссылку viewURL издателя актива на странице шаблонов страниц. Я не мог решить проблему. После поиска я понял, что эту проблему можно решить тремя способами:

Способ 1:1- Как и администратор, в Веб-контент> Структуры создайте структуру (новостную статью) и создайте шаблон для этой структуры. 2- Создайте страницу A и добавьте издателя актива. В этом издателе актива: в разделе "Выбор активов" выберите "Статья веб-содержимого в качестве типа актива и выберите новостную статью в качестве подструктуры". На вкладке Display Setting выберите View in Context as Asset Link Behavior. 3-In Site Builder>Pages создают шаблон отображаемой страницы (страница B). Отредактируйте его и добавьте издателя активов, аналогичного странице A. Однако на странице B в Конфигурации издателя активов в настройках отображения выберите Показать полный контент как поведение ссылки ресурса и установите флажок Установить как издатель активов по умолчанию для этой страницы и Показать только активы со страницей B в качестве шаблона страницы отображения. 4-Создайте новостную статью. В разделе "Шаблон отображаемой страницы" выберите "Определенный шаблон отображаемой страницы" и "Страница Б.

На странице А все в порядке. Однако, когда я нажимаю ViewURL записи актива, он перенаправляется на страницу B. Но в разделе издателя актива на странице B результаты не отображаются (результатов нет). Означает, что выбранный актив страницы A не отображается в шаблоне страницы отображения страницы B.

Метод 2: Возможно, самый простой способ - отредактировать шаблон страницы отображения (страница B) в конструкторе разделов> Отображение содержимого добавить шаблон страницы отображения. Однако, как указано в этом выпуске, в разделе содержимого страницы отображения отображается только сводка, а стиль не отображается. Может, стоит отредактировать файл abstract.jsp. Но я не знаю, как это сделать.

Метод 3: Создайте шаблон виджета и добавьте его на страницу B. Данные статьи выбранного актива можно получить из URL-адреса. Однако мне не удалось получить данные по выбранной статье.

Я благодарен за любую помощь в этом отношении.

1 ответ

Издатель активов, созданный в шаблоне страницы отображения, не будет отображать веб-контент страницы. Один из способов отобразить веб-контент в шаблоне страницы отображения — создать экземпляр фрагмента и сопоставить с ним поля веб-контента, как показано здесь .

Итак, чтобы решить вашу проблему, вам нужно изменить B Asset Publisher страницы на один или несколько фрагментов и сопоставить с ними поля новостной статьи.

Вы также можете сопоставить веб-контент со своими собственными фрагментами, используя фрагменты .lfr-editableполя

      <lfr-editable id="unique-id" type="text">
   This is editable text!
</lfr-editable>

Другой способ — получить экземпляр Java-объекта веб-контента внутри Freemarker (фрагмент, шаблон виджета, шаблон веб-контента и т. д.) с помощью этого фрагмента (работает только для 7.3+)

      ${Request.INFO_ITEM}
Другие вопросы по тегам