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: