Hauptbereich

Der Hauptbereich einer Playland-Standardseite wird durch das Layout L_content mit Inhalt gefüllt. Im ersten Drittel des Layouts wird der Titel der Seite ausgegeben. Dies ist relativ aufwändig, weil der Titel mit Hilfe einer switch-Anweisung je nach Vorlage (objClass) unterschiedlich zusammengesetzt wird.

Fast der ganze Rest des Layouts ist im Wesentlichen JavaScript-Code, der in ein npsgui-Element eingeschlossen ist. Wenn Sie in den Darstellungsoptionen für die Vorschau die Bearbeitungselemente eingeschaltet haben, wird durch das npsgui-Element ein ?-Button in der Vorschauseite eingeblendet. Klickt ein Benutzer auf diesen Button, öffnet sich ein verschiebbares Fenster, in dem ein Hilfetext über die Inhalte in den verschiedenen Bereichen angezeigt wird.

Erst am Ende des Layouts wird der Hauptinhalt der betreffenden Datei in die Seite aufgenommen:

<npsobj insertvalue="var" name="body" />
<npsobj insertvalue="template" name="SUBL_contentNav" />

Nachdem der Hauptinhalt (body) mit insertvalue="var" eingefügt wurde, wird das Layout SUBL_contentNav mit insertvalue="template" inkludiert.

SUBL_contentNav hat die Aufgabe, je nach Wert des Feldes Content-Navigation anzeigen? (ip_showContentNav) eine Navigation im Hauptbereich der Seite zu erzeugen, über die die im Ordner enthaltenen Dateien dem Website-Besucher zugänglich gemacht werden.

Wir benötigen die Content-Navigation für unseren Zweck nicht. Für Dateien mit der Vorlage Bildergalerie benötigen wir stattdessen ein anderes Sublayout, eines, das die Bildertabelle oder Bilderlinks anzeigt.

Wir nennen dieses neue Layout am besten SUBL_imageGallery und erweitern SUBL_contentNav um eine Fallunterscheidung, so dass SUBL_imageGallery immer dann inkludiert wird, wenn die Vorlage der exportierten Datei ip_imageGallery ist.

Ersetzen Sie bitte in SUBL_contentNav die letzte Zeile (siehe oben) durch den folgenden Code:

<npsobj condition="isNotEqual" name1="objClass" value2="ip_imageGallery">
  <npsobj insertvalue="template" name="SUBL_contentNav" />
</npsobj>

<npsobj condition="isEqual" name1="objClass" value2="ip_imageGallery">
  <npsobj insertvalue="template" name="SUBL_imageGallery" />
</npsobj>

Dieser Code prüft zunächst mit einer condition-Anweisung, ob die Vorlage (objClass) nicht gleich (isNotEqual) ip_imageGallery ist. Wenn dies zutrifft, wird wie bisher das Sublayout SUBL_contentNav inkludiert. Andernfalls (isEqual) wird das noch zu erstellende Layout SUBL_imageGallery inkludiert.

Bei einer einfachen Fallunterscheidung wie dieser reicht die condition-Anweisung aus. Sollen mehr als zwei Fälle unterschieden werden, sorgt eine switch-Anweisung für kompakteren Code.

Überprüfen Sie das Ergebnis kurz in der Vorschau. Vor allem darf nur im Bildergalerieordner der Text Bildergalerie unter dem Titel erscheinen: