Ansichten sind Darstellungselemente, die sich auf Seiten platzieren lassen.
Aufbau
Eine Ansicht sollte sich innerhalb der Ordnerstruktur einer App immer im Namespace "View" befinden, bspw. lautet der Ordner für die Ansicht "Text / Bild":
...
Im weiteren Verlauf "Paketordner" genannt.
Unterhalb des Paketordners muss sich eine PHP-Datei "Engine.php" und außerdem ein Ordner "views" befinden. Eine platzierbare Ansicht benötigt dort immer mindestens 2 Dateien:
Designer Seiten aufbauen im CMS-Designer
Designer Seiten aufbauen im CMS-Designer
Engine.php
Diese Datei liegt direkt im Paketordner und stellt die öffentlichen Endpunkte für die Ansichten bereit. Ein Endpunkt entspricht einer öffentlichen Methode in dieser Datei.
Codeblock | ||||
---|---|---|---|---|
| ||||
public function tile($viewID) { $paragraph = new FrameworkStyleguide\Entity\FrameworkParagraph(); $paragraph->content = new FrameworkStyleguide\StringSafe('Hello World'); return [ 'paragraph' => $paragraph ]; } |
config.json
Anker | ||||
---|---|---|---|---|
|
Diese Konfigurationsdatei im JSON-Format vergibt wichtige Parameter für platzierbare Views:
...
Codeblock | ||
---|---|---|
| ||
{ "coreType": "cms-core", "friendlyName": { "de": "Text / Bild", "en": "Text / Image" }, "depends": ["Theme/DefaultCms"] } |
view.hbs
Anker | ||||
---|---|---|---|---|
|
Diese Datei regelt den HTML-Inhalt der Ansicht. In ihr können Partial-Calls aus dem verwendeten Styleguide platziert werden.
Außerdem können Styleguide-Elemente, die in einem zugehörigen öffentlichen Endpunkt in der Engine.php (siehe oben) aufgebaut wurden, platziert werden. Dieser Endpunkt wird beim Aufbau der Seite, auf der die Ansicht platziert wurde, automatisch aufgerufen.
Der Endpunkt ist eine öffentliche PHP-Methode mit dem Endpunkt-Namen als Methode und muss einen Array mit benamten Array-Keys zurückgeben, denen Styleguide-Elemente zugeordnet werden:
...
Codeblock | ||||
---|---|---|---|---|
| ||||
{{{ compile serve.paragraph }}} |
Ermittlung des Endpunkt-Namens
config.json-Dateien für Ansichten werden in bis zu 3 Ordnerebenen unter dem Ordner "views" gefunden. Der Feature-Name ergibt sich aus dem Namen der Ordner im CamelCase-Style.
Beispiele:
Pfad zur hbs-Datei | Name der Feature-Methode in der Engine.php |
---|---|
views/my/new/feature/view.hbs | myNewFeature |
views/single/slider/view.hbs | singleSlider |
views/tile/view.hbs | tile |
Abhängigkeitskette für die Zuordnung von Ansichten zu Theme-Paketen
Wie oben beschrieben werden Ansichten über den Parameter "depends" in der config.json zu Theme-Paketen zugeordnet.
...