Layouts als HTML-Gerüst mit Export-Anweisungen

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.