2014-11-06 79 views
0

我已經定義:渲染與給定模板製品中的速度模板

  • 甲結構
  • 關聯到結構的兩個或微塵模板(完整內容,短塊抽象,...)
  • 給定結構中的網頁內容

在不同的模板中我有收集對我的文章的引用的功能;我希望使用給定的模板來呈現文章。

... 
#set($templateId = 27121) 
#set ($DDMTemplateLocalService = $serviceLocator.findService("com.liferay.portlet.dynamicdatamapping.service.DDMTemplateLocalService")) 
#set($ddmTemplate = $DDMTemplateLocalService.getTemplate($templateId)) 
#if(($articleId != $reserved-article-id.data)) 
    #set($webContent = $journalContentUtil.getContent($groupId, $articleId, $ddmTemplate.getPrimaryKey(), "view", "$locale", $xmlRequest)) 
    #if ($webContent) 
    <div>${webContent}</div> 
    #else 
    <div>Cannot use $templateName</div> 
    #end 
#end 

...變量$ webContent始終爲空。

回答

0

回覆來自Liferay的論壇https://www.liferay.com/community/forums/-/message_boards/view_message/45238697

「JournalContentUtil的方法得到的getContent作爲ddmTemplateKey第三個參數,而不是ddmTemplateId。這是DDMTemplate兩種不同的屬性。如果你使用$ ddmTemplate.getTemplateKey()而不是$ ddmTemplate.getPrimaryKey(),它應該工作(當然,如果沒有其他錯誤)。「

感謝基耶斯洛夫Gołębiowski

-1

當您不在Velocity標籤中時,您需要使用${webContent}。 Freemarker也是如此。

+0

不幸的是,這是不夠我的輸出是現在...'''$ {} web內容'''! – lrkwz 2014-11-07 08:29:54