getSiblings() 和 sort_by 错误
getSiblings() and sort_by error
我在 Liferay 中使用结构 (XML) 和模板 (FTL)。
我的问题是我不知道如何将 sort_by()
与 getSiblings()
一起使用。
这段代码不起作用,举个例子:
<ul id="emedia-categories">
<#list category?sort_by('linktext').getSiblings() as cat>
<li>
<a href="${cat.path.getData()}" title="${cat.title.getData()}">
<h3>
${cat.linktext.getData()}
</h3>
<img src="${cat.image.getData()}" alt="image-alt">
</a>
</li>
</#list>
</ul>
我得到的错误如下:
Expected sequence. category evaluated instead to com.liferay.portal.freemarker.LiferayTemplateModel on line 2, column 16 in 14868#14904#131571.
我想要实现的是循环遍历所有数据,并且在执行此操作时,我希望它根据每个 cat.linktext
内的字符串进行排序。所以结果是这样的:A, B, C, D, E...
而不是:D、B、E、A、C...
这是我唯一的工作变体,但它对 linktext
没有任何排序,它只是按照输入的顺序循环数据(可能按 id):
<ul id="emedia-categories">
<#list category.getSiblings() as cat>
<li>
<a href="${cat.path.getData()}" title="${cat.title.getData()}">
<h3>
${cat.linktext.getData()}
</h3>
<img src="${cat.image.getData()}" alt="image-alt">
</a>
</li>
</#list>
</ul>
错误消息很清楚:您正在尝试 对不是序列(= 列表或数组)的类别进行排序。
您想要根据属性 linktext.data
:
对兄弟姐妹进行排序,这是一个序列(= 列表)
<#list category.siblings?sort_by(['linktext', 'data']) as cat>
...
<#/list>
我在 Liferay 中使用结构 (XML) 和模板 (FTL)。
我的问题是我不知道如何将 sort_by()
与 getSiblings()
一起使用。
这段代码不起作用,举个例子:
<ul id="emedia-categories">
<#list category?sort_by('linktext').getSiblings() as cat>
<li>
<a href="${cat.path.getData()}" title="${cat.title.getData()}">
<h3>
${cat.linktext.getData()}
</h3>
<img src="${cat.image.getData()}" alt="image-alt">
</a>
</li>
</#list>
</ul>
我得到的错误如下:
Expected sequence. category evaluated instead to com.liferay.portal.freemarker.LiferayTemplateModel on line 2, column 16 in 14868#14904#131571.
我想要实现的是循环遍历所有数据,并且在执行此操作时,我希望它根据每个 cat.linktext
内的字符串进行排序。所以结果是这样的:A, B, C, D, E...
而不是:D、B、E、A、C...
这是我唯一的工作变体,但它对 linktext
没有任何排序,它只是按照输入的顺序循环数据(可能按 id):
<ul id="emedia-categories">
<#list category.getSiblings() as cat>
<li>
<a href="${cat.path.getData()}" title="${cat.title.getData()}">
<h3>
${cat.linktext.getData()}
</h3>
<img src="${cat.image.getData()}" alt="image-alt">
</a>
</li>
</#list>
</ul>
错误消息很清楚:您正在尝试 对不是序列(= 列表或数组)的类别进行排序。
您想要根据属性 linktext.data
:
<#list category.siblings?sort_by(['linktext', 'data']) as cat>
...
<#/list>