Liferay 应用程序显示模板 - 获取速度变量

Liferay Application Display Template - Get Velocity variables

我正在 Freemarker 的 Liferay (6.2 GA5) 中为资产发布者编写一个应用程序显示模板,我想显示作者和创建日期。不久前,我需要一个模板的相同变量,我找到了匹配的 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 中起作用,或者有其他方法来获取这些信息吗?

这些 "reserved article" 变量仅在处理 Web 内容模板时设置。

使用 ADT,您可以 fine-grained 访问显示的资产,但必须使用不同的访问方式,因为这些保留变量不可用。资产具有一组您可以访问的通用元数据(名称、日期、标题等)。对于您的示例,代码为:

<#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 以了解如何访问特定资产类型(博客、wiki 等)的元数据。