我正在 Freemarker 中的 Liferay (6.2 GA5) 中为 Assets 发布商编写应用程序显示模板,我想显示作者和创建日期。不久前,我需要模板使用相同的变量,并且找到了匹配的 Velocity 变量:
$reserved-article-author-name
& $reserved-article-create-date.data
为了在 FreeMarker 中使用 Velocity 变量,我这样调用它们:${.vars['reserved-article-author-name'].data}
在我的模板中,它工作正常,在我的 ADT 中,它抛出一个错误:
Expression .vars['reserved-article-author-name'] is undefined
您如何设法让这些变量在我的 ADT 中发挥作用,或者是否有其他方法来获取此信息?
最佳答案
这些“保留文章”变量仅在处理 Web 内容模板时设置。
使用 ADT,您可以更细粒度地访问显示的资源,但必须使用不同的访问方式,因为这些保留的变量不可用。 Assets 具有您可以访问的一组通用元数据(名称、日期、标题等)。对于您的示例,代码为:
<#if entries?has_content>
<#list entries as curEntry>
Title: ${curEntry.getTitle(locale)}
Create Date: ${curEntry.createDate?date}
Author: ${curEntry.userName}
</#list>
</#if>
看看这个 Rich Summary for Asset Publisher了解如何访问特定 Assets 类型(博客、维基等)的元数据。
关于Liferay 应用程序显示模板 - 获取速度变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34769787/