3.5| ViewHelper: if – If Abfragen im Tempalte

Es gibt sie in jeder Programmiersprache: If Abfragen. Auch in Typoscript und der Template Engine FLUID bzw. Flow3 gibt es If Abfragen. Zuerst gucken wir uns die normale Schreibweise in den Template HTML Dateien an, später noch die Inline Notation zu If Abfragen.

If Abfragen werden in Typo3 Fluid dann nötig, wenn Inhalt passend zum Benutzer bzw. der Situation ausgegeben werden soll. Ein Beispiel wäre, dass ein neuer Divcontainer auf der Startseite angezeigt wird, der auf allen anderen Seiten aber nicht zu sehen ist.

Im folgenden die Syntax einer If Abfrage in FLUID (Flow3):

<f:if condition="{wert} == 1">
    <f:then>
        Mein Wert ist {wert} .
    </f:then>
    <f:else>
        Leider ist mein wert nicht gegeben.
    </f:else>
</f:if>

Wir sehen nun eine ganz normale If Abfrage, die auch die selbe Funktionsweise wie jede andere If Abfrage hat. Wenn die Bedingung (condition) erfüllt wird, wird der Code innerhalb von „<f:then>“ ausgeben, wenn nicht, der Inhalt aus „<f:else>“.

„<f:else>“ kann an dieser Stelle auch weggelassen werden, wenn bei Nichterfüllung der Bedingung einfach nichts passieren bzw. ausgegeben werden soll.

Fluid kann in der momentanen Version nur Zahlen miteinander abgleichen. Wörter bzw. Strings lassen sich in der momentanen Version von Fluid nicht vergleichen oder als Bedinung nutzen. Es wird in diesem Fall immer „<f:then>“ ausgeführt.
Sobald also Text in den Bedingungen auftaucht (true, false oder andere Wörter/Sätze die in PHP durchaus möglich wären) reagiert Fluid damit, die Bedingung automatisch als erfüllt zu kennzeichnen. Wortvergleiche/Stringvergleiche scheitern in Fluid leider immer und geben immer richtig/true zurück.

Typo3 CMS 6.1 FLUID Template programmieren:

Marvin Sengera

Hey! Ich bin Marvin Sengera, Inhaber der Internetagentur "Binärfabrik" aus Paderborn. Ich habe mein Bachelorstudium Informatik mit Schwerpunkt Industriespionage an der Hochschule Hamm Lippstadt abgeschlossen und absolviere derzeit meinen Master in Fachrichtung "Technical Entrepreneurship and Innovation". Ich beschäftige mich rund um die Themen Informatik, Innovation & Unternehmensgründung.

Das könnte dich auch interessieren …

Schreibe einen Kommentar