Datenobjekt-Referenzen

    Um dynamische Informationen in einem Projekt ausgeben zu können, greift man auf Datenobjekt-Referenzen zurück. Diese können innerhalb des Templates bequem abgefragt werden.

    Verwendung

    Variablen und Objekte werden von Fluid bereitgestellt und werden über folgende Syntax aufgerufen. Durch die geschwungenen Klammern werden Datenobjekte und Attribute von der Fluid-Render-Engine erkannt und interpretiert. 

    HTML
    {datenobjekt.eigenschaft}

    Verfügbarkeit

    Bestimmte Variablen stehen im Bakehous global zur Verfügung (z. B. page – diese Variable erhält grundlegende Seiten-Informationen). Andere Variablen werden über ViewHelper hinzugefügt.

    Beispiel: Der items:item-ViewHelper stellt alle (News)-Items bereit. Der ViewHelper iteriert durch dieses Array und stellt bei jedem Durchlauf die Variable news bereit. In weiterer Folge wird das Feld name ausgegeben:

    HTML
    <items:item as="news"> <h1>{news.name}</h1> </items:item>

    Schleifen und Bedingungen

    Fluid stellt auch ViewHelper zur Verfügung, mit welchen Kontrollstrukturen direkt im Template erstellt werden – etwa Schleifen oder Bedingungen. Im untenstehenden Beispiel wird der name und – falls vorhanden – der subtext von jedem news-Element einer Liste in Form einer ul gerendert:

    HTML
    <ul> <f:for each="newslist" as="news"> <li> {news.name} <f:if condition="{news.subtext}"> {news.subtext} </f:if> </li> </f:for> </ul>

    Debugging

    Um Datenobjekt-Referenzen leichter zu untersuchen, bietet Fluid den f:debug-ViewHelper. Dieser generiert einen HTML-Dump für die ausgewählte Referenz.

    HTML
    <f:debug>{news}</f:debug>

    Verfügbare Datenobjekt-Referenzen

    Im Bakehouse steht eine Reihe von Datenobjekt-Referenzen werksseitig zur Verfügung. Diese sind innerhalb dieser Dokumentation den verschiedenen Elementen, Erweiterungen und Funktionen zugeordnet und werden dort mit den verfügbaren Attributen und Eigenschaften beschrieben:

    Content-Elemente

    Files Dateiverwaltung "Mediacake"

    Kategorien Dateiverwaltung "Mediacake"

    Verlinkungen

    Erweiterung "Blog & News"

    Erweiterung "Zimmer & Preise"

    Die nächsten Schritte

    Folgende Schritte empfiehlt das Bakehouse-Team jedem neuen Bakehouse-Entwickler: