Attention
TYPO3 v10 has reached end-of-life as of April 30th 2023 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v10 here: TYPO3 ELTS.
groupedFor¶
Grouped loop view helper. Loops through the specified values.
The groupBy argument also supports property paths.
= Examples =
<code title="Simple"> <f:groupedFor each="{0: {name: 'apple', color: 'green'}, 1: {name: 'cherry', color: 'red'}, 2: {name: 'banana', color: 'yellow'}, 3: {name: 'strawberry', color: 'red'}}" as="fruitsOfThisColor" groupBy="color">
- <f:for each="{fruitsOfThisColor}" as="fruit">
{fruit.name}
</f:for>
</f:groupedFor> </code> <output> apple cherry strawberry banana </output>
<code title="Two dimensional list"> <ul>
- <f:groupedFor each="{0: {name: 'apple', color: 'green'}, 1: {name: 'cherry', color: 'red'}, 2: {name: 'banana', color: 'yellow'}, 3: {name: 'strawberry', color: 'red'}}" as="fruitsOfThisColor" groupBy="color" groupKey="color">
- <li>
{color} fruits: <ul>
- <f:for each="{fruitsOfThisColor}" as="fruit" key="label">
<li>{label}: {fruit.name}</li>
</f:for>
</ul>
</li>
</f:groupedFor>
</ul> </code> <output> <ul>
- <li>green fruits
- <ul>
<li>0: apple</li>
</ul>
</li> <li>red fruits
- <ul>
<li>1: cherry</li>
</ul> <ul>
<li>3: strawberry</li>
</ul>
</li> <li>yellow fruits
- <ul>
<li>2: banana</li>
</ul>
</li>
</ul> </output>
Note: Using this view helper can be a sign of weak architecture. If you end up using it extensively you might want to fine-tune your "view model" (the data you assign to the view).
Arguments¶
each¶
- DataType
mixed
- Required
true
- Description
The array or SplObjectStorage to iterated over
as¶
- DataType
string
- Required
true
- Description
The name of the iteration variable
groupBy¶
- DataType
string
- Required
true
- Description
Group by this property
groupKey¶
- DataType
string
- Default
'groupKey'
- Required
false
- Description
The name of the variable to store the current group