WEBcoast Logo

Fluid in TYPO3 CMS 8: <f:switch> mit Default-Case

In TYPO3 CMS 8 wird statt dem komplett integrierten Fluid das separate Package typo3fluid/fluid genutzt. Das bringt einige interessante Änderungen mit sich. U.a. hat sich die Handhabung von <f:switch> geändert. Bis einschließlich TYPO3 CMS 7 hat man ein <f:switch> z.B. so geschrieben:

<f:switch expression="{someVariable}">
    <f:case value="...">...</f:case>
    <f:case value="...">...</f:case>
    <f:case value="...">...</f:case>
    <f:case default="1">...</f:case>
</f:switch>

Dabei war es wichtig, dass der Standardfall am Ende kam, weil alle nachfolgenden Fälle nicht mehr berücksichtigt wurden. Mit dem externen Fluid-Package wurde das Attribut default entfernt. Das alte Template würde damit also eine Exception verursachen. In TYPO3 CMS 8 sieht ein <f:switch> dann z.B. so aus:

<f:switch expression="{someVariable}">
    <f:case value="...">...</f:case>
    <f:case value="...">...</f:case>
    <f:case value="...">...</f:case>
    <f:defaultCase>...</f:defaultCase>
</f:switch>

Dabei kann der Standardfall auch mittendrin oder am Anfang stehen, weil dieser separat behandelt wird. Mich hat das einen Moment und ein paar Nerven gekostet, das heraus zu finden. Daher hoffe ich, dass ich dem einen oder anderen diesen Ärger ersparen kann.