我想通过使用内联表示法在TYPO3 Fluid模板中使用循环(f:for
)填充属性值:
<div class="one two three">[...]</div>
有人知道怎么做吗?
答案 0 :(得分:7)
同时我找到了解决问题的方法。要打印数组中的所有项目,您可以执行{x -> f:for(each: {0: 'one', 1: 'two', 2: 'three'}, as: 'x')}
之类的操作。但这会导致:onetwothree
。修复视图助手f:if
有助于:
<div class="{f:if(condition: i.isLast, then: '{x}', else: '{x} ')
-> f:for(each: {0: 'one', 1: 'two', 2: 'three'}, as: 'x', iteration: 'i')}">
[...]
</div>
答案 1 :(得分:0)
我猜你正在寻找一些先进的&#39;流体中的阵列处理? 看看https://fluidtypo3.org/viewhelpers/vhs/master.html。
答案 2 :(得分:0)
请查找以下内联符号, 它可以帮助你。
for循环的内联表示法
Original -> `<f:for each="{data.title}" as="title"> {title} </f:for>`
内联表示法 - &gt; {title - &gt; f:for(each:'{data.title}',as:'title')}
日期的内联表示法
Date :-> `<f:format.date cldrFormat="MMMM y" forceLocale="{true}" localeFormatType="date">1-{calendar.month}-{calendar.year} 00:00:00</f:format.date>`
Inline Notation :-> {f:format.date(date:'1-{calendar.month}-{calendar.year} 00:00:00',cldrFormat:'MMMM y',localeFormatType: 'date', forceLocale: true)}
等......
答案 3 :(得分:0)
您可以更多地调整@witrin的解决方案,并完全内联编写:
{f:if(condition: i.isLast, then: '{x}', else: '{x} ') -> f:for(each: '{item.thing}', as: 'x', iteration: 'i')}