YAML-Layout
- Weitere Templates
- Optionen des Navigationsmenüs
- Graphische Layoutbegrenzung
- Breadcrumbmenü und Zusatzmenü mit root-Artikeln
- Individuelle Navigationslinks
- Weitere Einstellungen
- YAML-Spaltenanordnung
- Einbindung der Stylesheets und HTML
- Quelltext YAML-Layout mit Zeilennummern
- Quelltext YAML-Layout ohne Zeilennummern
Übergabe der Seiteninhalte
Wie in Kapitel C1.01 Template erstellen der redaxo – Dokumentation beschrieben, wird der Inhalt eines Artikels durch die Variable
an das Seitentemplate übergeben und so in diesem dargestellt.
Wurden, wie im Falle des YAML-Templates, mehrere Spalten definiert, so erfolgt die Übergabe dieser Artikelinhalte unter Angabe der ensprechenden ID.
So würde also der Inhalt des Artikels der Spalte „mitte“ in unserem Beispiel mit
oder der Inhalt der Spalte „kopf“ mit
oder z. B. der Inhalt der Spalte „fuss“ mit
im (html-)Quelltext des YAML-Templates übergeben werden.
Um eine Suche nach den entsprechenden Stellen im html-Quelltext des Templates, in denen der jeweilige print-Befehl je nach Seitenlayout angepasst werden müsste, zu vermeiden, werden die Inhalte beim YAML-Template jedoch nicht direkt übergeben.
Es existieren vielmehr Platzhalter, an die die entsprechenden Inhalte übertragen werden können:
- $headerContent = $this->getArticle(2); // Inhalte für den header-Bereich
- $headerTopNav = '<a href="'.rex_getUrl(4).'">impressum</a>';// Platzhalter für Links im Skip-Link-Bereich
- $headerNavigation = $navigation; // Platzhalter für "getrennte Hauptnavigation"
- $headerBreadcrumb = ''; // Platzhalter für Breadcrumb-Menü im header-Bereich
- $col1Navigation = $subNavigation; // Platzhalter für Navigation in der ersten Float-Spalte des Inhaltsbereiches
- $col1Breadcrumb = ''; // Platzhalter für Breadcrumbmenü in der ersten Float-Spalte des Inhaltsbereiches
- $col1Content = $this->getArticle(3); // Platzhalter für Inhalte in der ersten Float-Spalte des Inhaltsbereiches
- $col2Navigation = ''; // Platzhalter für Navigation in der zweiten Float-Spalte des Inhaltsbereiches
- $col2Breadcrumb = ''; // Platzhalter für Breadcrumbmenü in der zweiten Float-Spalte des Inhaltsbereiches
- $col2Content = $this->getArticle(4); // Platzhalter für Inhalte in der zweiten Float-Spalte des Inhaltsbereiches
- $col3Navigation = ''; // Platzhalter für Navigation in der statischen Spalte des Inhaltsbereiches
- $col3Breadcrumb = $breadcrumb; // Platzhalter für Breadcrumbmenü in der statischen Spalte des Inhaltsbereiches
- $col3Content = $this->getArticle(1); // Platzhalter für Inhalte in der statischen Spalte des Inhaltsbereiches
- $footerNavigation = $raNavigation; // Plathalter für Navigation im Footer-Bereich
- $footerContent = $this->getArticle(5); // Inhalte für den Footerbereich
Die o.g. Zuordnung der Platzhalter entspricht beispielsweise der, wie sie im Template der raybeam-Site erfolgt. Neben der beschriebenen Übergabe der Artikelinhalte können auch andere, statische Inhalte, an die Platzhalter übergeben werden.
So wird in Zeile 94 ein fester Link auf den “Impressum”-Artikel mit der Artikel-ID 4 eingetragen.
Die Zeilen 95 und 97 zeigen die Zuordnung der Navigation/Menüs in die entsprechenden Bereiche. So wird die „Root“-Navigation, also die Menüpunkte der Hauptkategorien, dem Platzhalter headerNavigation und getrennt davon die Untermenüpunkte dem Platzhalter col1Navigation, in diesem Fall der linken Spalte, zugeordnet.
Zeile 104 zeigt die Zuordnung des Breadcrumbmenüs an den Platzhalter col3Breadcrumb.
In Zeile 106 wird die root-Artikel Navigation an footerNavigation übergeben.
Die hier benutzten Variablen
$subNavigation
$breadcrumb und auch
$raNavigation für eine root-Artikel Navigation
werden übrigens durch das yaml_navigation-Template gebildet. Näheres dazu findet sich in den Erläuterungen zu yaml_navigation.
Nicht benötigte Platzhalter werden mit einem „leeren“ Wert versehen: