2

如何从抽象显示中选择要显示的特定动态元素?例如,如果我的模板中有以下内容

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

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

如何使摘要显示仅显示显示文本而不显示两者?

对不起,让我试着澄清一下。资产发布者拥有 Web 内容(以前是期刊)。网页内容有不同的方式来显示文章。它们有表格、标题列表、摘要和完整内容。如果我使用摘要显示并且用户已经估算了摘要,则显示标题和摘要。如果没有估算摘要,则显示标题和摘要。摘要由动态元素组成。我的问题真的归结为如何让抽象视图只显示摘要中的选择元素。摘要通过以下方式获得

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

它位于 abstracts.jsp 中。

4

1 回答 1

1

您的问题令人困惑,因此我将介绍几件事。

Liferay 的 Web 内容模板支持几种模板语言,其中我个人更喜欢 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
    

您可以在此处找到有关 Velocity 的完整文档:http: //velocity.apache.org/engine/releases/velocity-1.5/user-guide.html

于 2011-10-25T18:00:12.757 回答