在Liferay中对动态数据列表模板中的项目进行排序

时间:2012-06-27 21:28:02

标签: liferay liferay-6 liferay-velocity dynamic-data-list

我正在Liferay 6.1中尝试使用动态数据列表。数据定义和列表编辑器工作正常,但我在准备模板以显示列表时遇到问题。特别是我想知道如何实现显示的排序和分页,因为列表最终会变长。

让我们从订购开始吧。从理论上讲,下面的模板应该使用getRecords方法,该方法允许使用OrderByComparator(http://bit.ly/MqsGNE),但工厂在哪里可以创建所需的比较器?

#set ($ddlRecordsUtil = $serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService")) 
#set ($recordSetId = $getterUtil.getLong($reserved_record_set_id.data)) 

## How to create an OrderByComparator which would ORDER_BY_text2132_DESC ??

#set ($orderBy = ???????????)
#set ($records = ${ddlRecordsUtil.getRecords($recordSetId,-1,-1,50, $orderBy)}) 

<ul> 
#foreach ($record in $records)

    #set ($name = $record.getField("text2132").getValue()) 

    <li><em>${name}</em></li> 

#end 
</ul>

我是否遗漏了某些内容,是否有其他方法可以在从数据库中提取这些列表之前对其进行排序?

1 个答案:

答案 0 :(得分:0)

#set ($records = ${ddlRecordsUtil.getRecords($recordSetId,-1,-1,50,ORDER_BY_text2132_DESC)}) 

试试这个,这样可行。