2011-10-25 101 views
2

如何從抽象顯示中選擇要顯示的特定動態元素? 例如,如果我有我的模板以下Liferay Web內容

<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的Web Content Template支持兩種模板語言,我個人更喜歡Velocity宏(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

相關問題