Übergabe der Seiteninhalte

Wie in Kapitel C1.01 Template erstellen der redaxo – Dokumentation beschrieben, wird der Inhalt eines Artikels durch die Variable

echo $this->getArticle()

bzw.

print $this->getArticle()

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.

Spalten in redaxo 4.x - Templates

So würde also der Inhalt des Artikels der Spalte „mitte“ in unserem Beispiel mit

print $this->getArticle(1)

oder der Inhalt der Spalte „kopf“ mit

print $this->getArticle(2)

oder z. B. der Inhalt der Spalte „fuss“ mit

print $this->getArticle(5)

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:

  1. $headerContent    = $this->getArticle(2)// Inhalte für den header-Bereich
  2. $headerTopNav     = '<a href="'.rex_getUrl(4).'">impressum</a>';// Platzhalter für Links im Skip-Link-Bereich
  3. $headerNavigation = $navigation; // Platzhalter für "getrennte Hauptnavigation"
  4. $headerBreadcrumb = ''; // Platzhalter für Breadcrumb-Menü im header-Bereich
  5. $col1Navigation   = $subNavigation; // Platzhalter für Navigation in der ersten Float-Spalte des Inhaltsbereiches
  6. $col1Breadcrumb   = ''; // Platzhalter für Breadcrumbmenü in der ersten Float-Spalte des Inhaltsbereiches
  7. $col1Content    = $this->getArticle(3)// Platzhalter für Inhalte in der ersten Float-Spalte des Inhaltsbereiches
  8. $col2Navigation   = ''; // Platzhalter für Navigation in der zweiten Float-Spalte des Inhaltsbereiches
  9. $col2Breadcrumb   = ''; // Platzhalter für Breadcrumbmenü in der zweiten Float-Spalte des Inhaltsbereiches
  10. $col2Content    = $this->getArticle(4)// Platzhalter für Inhalte in der zweiten Float-Spalte des Inhaltsbereiches
  11. $col3Navigation   = ''; // Platzhalter für Navigation in der statischen Spalte des Inhaltsbereiches
  12. $col3Breadcrumb   = $breadcrumb; // Platzhalter für Breadcrumbmenü in der statischen Spalte des Inhaltsbereiches
  13. $col3Content    = $this->getArticle(1)// Platzhalter für Inhalte in der statischen Spalte des Inhaltsbereiches
  14. $footerNavigation = $raNavigation; // Plathalter für Navigation im Footer-Bereich
  15. $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

$navigation
$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:

$col3Navigation = '';