如何从抽象显示中选择要显示的特定动态元素? 例如,如果我的模板中有以下内容
<td>Sample Text</td>
<td>$sample-text.data</td>
<td>Display Text</td>
<td>$display-text.data</td>
如何使抽象显示只显示显示文本,而不是两者?
抱歉,让我试着清除它。资产发布者具有Web内容(以前是日记)。 Web内容具有不同的显示文章的方式。他们有表格,标题列表,摘要和完整内容。如果我使用抽象显示并且用户估算了抽象而不是标题和抽象。如果没有抽象的摘要,则显示标题和摘要。摘要由动态元素组成。我的问题实际上归结为如何让抽象视图只显示摘要中的选择元素。摘要由
获得String summary = StringUtil.shorten(assetRenderer.getSummary(locale), abstractLength);
位于abstracts.jsp。
答案 0 :(得分:1)
你的问题很混乱所以我会介绍几件事。
Liferay的Web内容模板支持一些模板语言,我个人更喜欢Velocity Macros(VM)。
如果您不想显示$ sample-text.data,只需删除显示它的代码行!具体来说,删除此行:
<td>$sample-text.data</td>
如果您尝试根据某些条件控制显示,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