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 始终为空。

4

2 回答 2

0

回复来自liferay论坛https://www.liferay.com/community/forums/-/message_boards/view_message/45238697

“JournalContentUtil 的 getContent 方法获取 ddmTemplateKey 作为第三个参数,而不是 ddmTemplateId。这是 DDMTemplate 的两个不同属性。如果您使用 $ddmTemplate.getTemplateKey() 而不是 $ddmTemplate.getPrimaryKey(),它应该可以工作(当然,如果有没有其他错误)。”

感谢 Krzysztof Gołębiowski

于 2014-11-12T15:27:55.800 回答
-1

当您在 Velocity 标签之外时,您需要使用${webContent}. Freemarker 也是如此。

于 2014-11-06T21:29:11.557 回答