Zimmer + Preise

    Das Zimmer-Preis Modul bietet für Unternehmen eine einfache Möglichkeit, ihre Unterkünfte, Angebote und Preise zu verwalten und diese beim Online-Projekt zu präsentieren.

    Für die Befüllung gibt es im Bakehouse eine eigene intuitive Verwaltungs-Oberfläche, in der die verschiedenen Zimmer-Preis Daten angelegt werden können.
    Dazu zählen:

    • Zimmer
    • Angebote
    • Preistabellen
    • Kriterien
    • Saisonen
    • Preise

    Aus Sicht eines Integrators/einer Integratorin gibt es eigene Zimmer-Seiten, neue Elemente und ViewHelper, über denen die Zimmer-Preis Daten abgefragt und dargestellt werden können.

    Voraussetzungen

    Bevor man sich um die Ausgabe der Daten kümmert, sollten die Spezial Seiten vorbereitet werden.

    Damit die Zimmer und Pauschalen auf den richtigen Detail-, Anfragen- und Buchen-Seiten verlinken, ist es wichtig, diese Seiten zuerst anzulegen. In den Seiteneigenschaften dieser neu erstellten Seiten kann dann der richtige Typ ausgewählt werden.

    Gibt es mehrere davon (z. B. mehrere Detail-Seiten oder mehrere Anfrage-Seiten), so können diese beim Anlegen und Bearbeiten des Zimmers bzw. der Pauschale ausgewählt werden.

    Element-Vorlagen

    Für die Elemente gibt es aktuell Vorlagen. Diese sind so ausgelegt, dass nur das Nötigste und die Basis Funktionen, wie Settings-Formular und TypoScript-Konfiguration, enthalten sind. 

    Die dazugehörige .zip-Datei downloaden

    ViewHelper

    Für diese Erweiterung relevante Bakehouse-ViewHelper sind mit dem Prefix price gekennzeichnet.

    Daten-Referenzen ausgeben

    Zimmerliste

    HTML
    <!-- über ViewHelper (Settings-Formular Filter, Kategorien) --> <price:room.list categories="{cObj.allSettings.categories}" filter="{cObj.allSettings.filter}" pricetables="{cObj.allSettings.pricetables}" [optionen]> {room.title} </price:room.list> <!-- über eine Kategorie --> {category.items} <!-- über eine Preistabelle --> {pricetable.rooms}

    Pauschalliste

    HTML
    <!-- über ViewHelper (Settings-Formular Filter, Kategorien) --> <price:package.list categories="{cObj.allSettings.categories}" filter="{cObj.allSettings.filter}" [optionen]> {package.title} </price:package.list> <!-- über eine Kategorie --> {category.packages} <!-- über eine Preistabelle --> {pricetable.packages}

    Preistabellen

    HTML
    <!-- über ViewHelper (Settings-Formular Filter, Kategorien) --> <price:pricetable.list pricetables="{cObj.allSettings.pricetables}" filter="{cObj.allSettings.filter}" [optionen]> {pricetable.title} </price:pricetable.list> <!-- über eine Pauschale --> {package.pricetables}

    Saisonen

    HTML
    <!-- über eine Preistabelle --> {pricetable.seasons} <!-- über eine Kategorie --> {category.seasons}

    Kriterien

    HTML
    <!-- über ViewHelper (Preistabelle-Zimmer Kombination, Kategorien) --> <price:criteria.list pricetable="{pricetable}" room="{room}" categories="{cObj.allSettings.categories}" [optionen]> {criteria.title} </price:criteria.list>

    Preise

    HTML
    <!-- über ViewHelper (Season) --> <price:price pricetable="{pricetable}" room="{room}" season="{season}" criteria="{criteria}"> {price} </price:price> <!-- über ViewHelper (Package) --> <price:price pricetable="{pricetable}" room="{room}" package="{package}" criteria="{criteria}"> {price} </price:price>

    Kategorien

    HTML
    <!-- über ViewHelper --> <price:category.list type="room" as="categories"> <f:for each="{categories}" as="category"> {category.title} </f:for> </price:category.list> <!-- über ein Zimmer --> {room.categories} <!-- über eine Pauschale --> {package.categories} <!-- über eine Saison --> {season.categories} <!-- über ein Kriterium --> {criteria.categories}