我有一份记录清单;它们都有一个字段 .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 字段将不起作用(迭代器需要字符串类型变量),+无法让其他内联格式选项起作用。))
在格式化日期之前,您需要对数组进行排序。
<f:for each="{recordlist -> v:iterator.sort(sortBy: 'datetime')}" as="record">
{record -> f:format.date(format: 'Ymd')}
</f:for>
无法对格式化日期进行正确排序。