Beispiel: Zimmerübersicht
Zuallererst muss das neue Contentelement im TypoScript definiert werden:
In diesem Fall wird ein neues Contentelement mit dem Namen "Zimmer Liste" angelegt. Dieses greift auf eine Template-Datei mit dem Namen zimmerliste.html im Ordner fileadmin/templates/elements/zimmerliste zurück. Diese Datei kann am Webspace einfach via FTP angelegt werden.
Beispielinhalt zimmerliste.html:
Am Beginn der Datei werden die notwendigen Bakehouse und HAPI ViewHelper geladen. Diese Zeilen sind wichtig, um das Funktionieren der folgenden Code-Bausteine zu gewährleisten:
Mit folgendem Tag wird ein Bakehouse-Contentelement umschlossen. Dadurch wird dem folgenden Code erklärt, dass es ein Element ist:
Im folgenden Block holen wir uns mit <hapi:get.room.list> alle Zimmer von der HAPI Schnittstelle. Diese Daten werden im Anschluss mit <hapi:room.list tag="ul"> abgearbeitet (Schleife) und mit <hapi:room tag="li"> einzeln ausgegeben:
Innerhalb von <hapi:room tag="li"> kann auf die einzelnen Werte eines Zimmers zugegriffen werden. In folgendem Beispiel wird der Title eines Zimmers innerhalb eines <h2>-Tags ausgegeben:
Mit folgendem Tag wird ein Bakehouse Background-Image ViewHelper mit dem externen Bild als Quelle erstellt. Der Tag unterstützt alle Funktionen die auch der bh:image.background-ViewHelper unterstützt (z. B. Lazy Loading, Responsive Steps, ...)
Widget-ViewHelper
Alle Booking-Widgets werden für die Anwendung in einem Bakehouse über ViewHelper bereitgestellt. Dabei werden die HAPI-Konfigurationen im TypoScript für die Generierung des Script-Imports herangezogen und abhängig vom loadscript-Wert geladen.
Widgets nur über ViewHelper aufrufen
Werden die Widgets direkt über die Widget-Tags (z. B. <hapi-liveprice-room ...>) verwendet, wird das Script nicht geladen, wenn loadscript auf auto gesetzt wurde.
Widget-Elemente
Restplatzbörse/Rateplan-List
Das Restplatzbörse-Element wird vom Bakehouse Core bereitgestellt und kann mit folgendem TypoScript aktiviert werden: