为动态数据列表创建 Velocity 模板 (Liferay 6.2)
Creating a Velocity template for Dynamic Data List (Liferay 6.2)
我目前正在使用 liferay 6.2,但在为动态数据列表创建显示模板时遇到问题。我正在尝试遵循本指南:
但是 FreeMarker 示例不起作用。我正在尝试在 Velocity 中创建一个模板(因为我的知识比 FreeMarker 多):
到目前为止我的代码是:
<h1>Title</h1>
#set($DDLRecordLocalService = $serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService"))
#set ($records = $DDLRecordLocalService.getRecords("TitoloDeEmprego"))
#if(!$records.isEmpty())
<h1>$records.getFieldValue("TitoloDeEmprego")</h1>
#end
但我无法从 $records
获得任何信息
首先,您必须允许您的 Freemarker/Velocity 模板访问 serviceLocator 变量。为此,您需要将以下行放入 portal-ext.properties:
# Freemarker template settings
freemarker.engine.restricted.variables=
我认为这是原因,但如果您有任何其他问题,这是适合我的简单 Freemarker DDL 显示模板:
<#assign DDLRecordLocalService = serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService")>
<#assign records = DDLRecordLocalService.getRecords(reserved_record_set_id)>
<#if records?has_content>
<ul>
<#list records as cur_record>
<li>
<a href="${ddmUtil.getDisplayFieldValue(themeDisplay, cur_record.getFieldValue("someLinkFieldName", locale), cur_record.getFieldType("someLinkFieldName"))}">
<img src="${ddmUtil.getDisplayFieldValue(themeDisplay, cur_record.getFieldValue("someImageFieldName", locale), cur_record.getFieldType("someImageFieldName"))}" />
</a>
</li>
</#list>
</ul>
</#if>
我目前正在使用 liferay 6.2,但在为动态数据列表创建显示模板时遇到问题。我正在尝试遵循本指南:
但是 FreeMarker 示例不起作用。我正在尝试在 Velocity 中创建一个模板(因为我的知识比 FreeMarker 多):
到目前为止我的代码是:
<h1>Title</h1>
#set($DDLRecordLocalService = $serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService"))
#set ($records = $DDLRecordLocalService.getRecords("TitoloDeEmprego"))
#if(!$records.isEmpty())
<h1>$records.getFieldValue("TitoloDeEmprego")</h1>
#end
但我无法从 $records
获得任何信息首先,您必须允许您的 Freemarker/Velocity 模板访问 serviceLocator 变量。为此,您需要将以下行放入 portal-ext.properties:
# Freemarker template settings
freemarker.engine.restricted.variables=
我认为这是原因,但如果您有任何其他问题,这是适合我的简单 Freemarker DDL 显示模板:
<#assign DDLRecordLocalService = serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService")>
<#assign records = DDLRecordLocalService.getRecords(reserved_record_set_id)>
<#if records?has_content>
<ul>
<#list records as cur_record>
<li>
<a href="${ddmUtil.getDisplayFieldValue(themeDisplay, cur_record.getFieldValue("someLinkFieldName", locale), cur_record.getFieldType("someLinkFieldName"))}">
<img src="${ddmUtil.getDisplayFieldValue(themeDisplay, cur_record.getFieldValue("someImageFieldName", locale), cur_record.getFieldType("someImageFieldName"))}" />
</a>
</li>
</#list>
</ul>
</#if>