Liferay Web Content - PullRequest
       17

Liferay Web Content

2 голосов
/ 25 октября 2011

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

 <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 Ответ

1 голос
/ 25 октября 2011

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

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

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

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

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

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

...