Fluid:使用 ViewHelper iterator.sort 按日期对记录进行排序

问题描述 投票:0回答:1

我有一份记录清单;它们都有一个字段 .datetime (DateTime 类型)

作为第一步,我希望对所有记录按日期升序排列进行循环。第二步是“按 pid 排序”,然后是第三步“按时间排序”。

但是我无法让 VHS ViewHelper 工作...

<f:for each="{recordlist -> v:iterator.sort(sortBy: '{f:format.date(date:recordlist.datetime, format:'Ymd')}')}" as="sortedrecord"> // iterating data which is ONLY sorted while rendering this particular loop {sortrecord.datetime}<br /> </f:for>

最终

#1256475113 InvalidArgumentException The argument "each" was registered with type "array", but is of type "string" in view helper "TYPO3Fluid\Fluid\ViewHelpers\ForViewHelper".

知道如何使 iterator.sort 与格式化日期一起使用吗?

((直接迭代 dtaetime 字段将不起作用(迭代器需要字符串类型变量),+无法让其他内联格式选项起作用。))

typo3 fluid view-helpers
1个回答
0
投票

在格式化日期之前,您需要对数组进行排序。

<f:for each="{recordlist -> v:iterator.sort(sortBy: 'datetime')}" as="record">
    {record -> f:format.date(format: 'Ymd')}
</f:for>

无法对格式化日期进行正确排序。

© www.soinside.com 2019 - 2024. All rights reserved.