Веб-контент Liferay

#liferay #web-content

#liferay #веб-контент

Вопрос:

Как вы можете выбрать конкретные динамические элементы, которые будут отображаться на абстрактном дисплее? Например, если в моем шаблоне есть следующее

  <td>Sample Text</td>
 <td>$sample-text.data</td>

 <td>Display Text</td>
 <td>$display-text.data</td>
  

Как я могу заставить абстрактный дисплей отображать только отображаемый текст, а не оба?

Извините, позвольте мне попытаться прояснить это. У издателя ресурсов есть веб-контент (раньше это был журнал). Веб-контент имеет разные способы отображения статей. У них есть таблица, список заголовков, аннотация и полное содержимое. Если я использую отображение аннотации, а пользователь ввел аннотацию, отображаются заголовок и аннотация. Если аннотация не указана, то отображаются заголовок и краткое содержание. Сводка состоит из динамических элементов. Мой вопрос действительно сводится к тому, как я могу заставить абстрактное представление отображать только выбранные элементы из сводки. Сводка получается с помощью

 String summary = StringUtil.shorten(assetRenderer.getSummary(locale), abstractLength);
  

который находится в файле abstracts.jsp.

Ответ №1:

Ваш вопрос сбивает с толку, поэтому я расскажу о нескольких вещах.

Шаблон веб-контента Liferay поддерживает несколько языков шаблонов, из которых я лично предпочитаю Velocity Macros (VM).

  1. Если вы не хотите показывать $sample-text.data, просто удалите строку кода, которая его отображает! В частности, удалите эту строку:

     <td>$sample-text.data</td>
      
  2. Если вы пытаетесь управлять отображением на основе какого-либо условия, виртуальная машина поддерживает условные обозначения. Вы можете реализовать их просто так:

     #if ($sample-text.data != null)
            <td>$sample-text.data</td>
    #end
      

Вы можете найти полную документацию по Velocity здесь: http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html