Layouts sind CMS-Dateien wie auch Ordner oder Dokumente und befinden sich
wie diese in der Ordnerhierarchie. Der Hauptinhalt von Layoutdateien enthält
ein HTML-Gerüst, angereichert um npsobj
-Elemente. Diese Elemente
sehen formal wie HTML-Text aus, sind jedoch kein gültiges HTML, sondern
Export-Anweisungen. Das CMS wertet diese Anweisungen bei der Erzeugung der
Webseiten, dem Export, aus und ersetzt sie durch das Ergebnis der Auswertung.
Navigieren Sie einmal im Demo-Content zur Playland-AG im Bereich für
Internet-Auftritte:
Zahlreiche Layouts bilden die Grundlage des Webauftritts, unter anderem das Startlayout (auch Hauptlayout genannt, es hat den Namen mastertemplate), das in obigem Screenshot selektiert ist. Rechts ist ein Ausschnitt daraus zu sehen. Klicken Sie auf Bearbeiten, um den Layout-Code etwas genauer zu betrachten:
NPS-Markup bietet viele Möglichkeiten, Inhalte in die zu erzeugende
Webseite aufzunehmen. Die npsobj
-condition
-Anweisung, um
ein Beispiel zu nennen, erlaubt es, Inhalte nur dann einzufügen, wenn eine
Bedingung erfüllt ist. So könnte ein anklickbares Logo, mit dem der Betrachter zur
Homepage zurückkehren kann, nur auf Seiten erscheinen, die keine Homepages sind.
Dies wird mit dem folgenden Layout-Code, den Sie auch im Startlayout der
Playland-Website finden, bewerkstelligt:
<npsobj condition="isEqual" name1="ip_isHomepage" value2="yes" negate="yes"> <div id="topContainer"> <div id="logo"> <npsobj insertvalue="template" name="L_homeLogo" /> </div>
Im obigen Beispiel wird mit der
npsobj
-condition
-Anweisung das Feld
ip_isHomepage
getestet. Enthält es nicht den Wert yes
,
wird der darauf folgende Code berücksichtigt. Darin wird mit
<npsobj insertvalue="template" name="L_homeLogo" />
ein weiteres Layout, L_homeLogo
, herangezogen, um das
verlinkte Logo in die Seite einzufügen. L_homeLogo
ist kein
umfangreiches Layout. Dennoch wurde dessen Code nicht gleich in das
Startlayout eingefügt. Zum einen gibt es relativ viele solcher kleinen
Layout-Module, die in der Summe eine beträchtliche Menge Code ergeben, der
das Startlayout recht unleserlich machen würde. Zum anderen lässt sich
der Code durch die Auslagerung zentral pflegen und mehrfach verwenden. Auch
wenn die große Zahl der Layouts auf den ersten Blick etwas unübersichtlich
wirkt, so wird dies durch die bessere Lesbarkeit und Wiederverwendbarkeit des
Codes mehr als ausgeglichen.