Vorlagen und Dokumenttypen

Ansätze zur flexiblen Vorlagenerstellung

In den Grundlagen werden die wichtigsten Techniken zur Vorlagenerstellung beschrieben.

Für die Redaktion der Webseite kann man sogenannte Dokumenttypen erstellen. Diese werden mit einem oder bei Bedarf mit mehreren Vorlagen zur Auswahl bestückt. Außerdem können weitere Standard-Angaben voreingestellt werden für den speziellen Seitentyp.

Beispiel: Für News-Detailseiten gibt es ein eigenes Template und diese Seiten sollen stets in einem Verzeichnis x abgelegt werden.
Für die Redaktion kann dies in einem Dokumenttyp namens "News-Detailseite" komfortabel voreingestellt werden. 
Zum Anlegen einer neuen News-Seite braucht die Redaktion nicht mehr wissen, welches Template hierfür verwendet werden soll. Auch entfällt die Entscheidung, ob die Seite dynamisch oder statisch angelegt werden soll, ebenso der Ablageort. Die Redaktion kann sich also voll auf den Inhalt konzentrieren.

Die Vorlage nach Dokumenttyp

Use Case: Wir haben einen Seitentyp, der von der Redaktion immer wieder in genau der selben Form angelegt wird. In dem Fall wollen wir, dass im webEdition Menü steht: Neu -> webEdition Seite -> Name des Seitentyps

Nehmen wir als Beispiel einen Kurs, der so aufgebaut ist:

  1. Kursname
  2. Beschreibung
  3. Datum und Zeit
  4. Ort
  5. Referent
  6. Kosten

Man könnte die Vorlage Kurs.tmpl also so aufbauen:

 

<we:ifEditmode>
    <b>Name der Veranstaltung:</b><br>
    <we:input name="Name" type="text" size="100"/><br>

    <b>Ort der Veranstaltung:</b><br>
    <we:input name="Ort" type="text" size="100"/><br>

    <b>Referenten:</b><br>
    <we:input name="Referenten" type="text" size="100"/><br>

    <b>Kosten:</b><br>
    <we:input name="Kosten" type="text" size="100"/><br>

    <b>Text/Beschreibung:</b><br>
    <we:textarea wysiwyg="true" name="content" cols="50" rows="10" width="600" height="500" removefirstparagraph="false" inlineedit="true"/>

    <b>Anfangsdatum und -zeit:</b><br>
    <we:input name="DatumBeginn" type="date" currentdate="true"/>
    <br>
    <b>Enddatum und -zeit:</b><br>
    <we:input name="DatumEnde" type="date" currentdate="true"/><br>
</we:ifEditmode>

<we:ifNotEditmode>

    <h2>
        <we:input name="DatumBeginn" type="date" format="H:i"/>-<we:input name="DatumEnde" type="date" format="H:i"/>
    </h2>

    <h1>
        <we:input name="Name" type="text" />
    </h1>

    <we:textarea name="content" />

    <we:ifNotEmpty name="Ort">
        Ort: <we:input name="Ort" type="text" /><br>
    </we:ifNotEmpty>

    <we:ifNotEmpty name="Referenten">
        Referent: <we:input name="Referenten" type="text" /><br>
    </we:ifNotEmpty>

    <we:ifNotEmpty name="Kosten">
        Kosten: <we:input name="Kosten" type="text" /><br>
    </we:ifNotEmpty>

</we:ifNotEditmode>

Diese Vorlage wird immer nur einen einzigen Seitentyp darstellen, den man dann etwa über eine <we:listview> der Kurse auslesen könnte:

<we:listview type="document" name="Kurse" doctype="Kurs" order="DatumBeginn" numorder="true">
    <ul>
        <we:repeat>
            <li>
                <we:field name="Name" hyperlink="true"/>
                <br>
                <we:field name="DatumBeginn" type="date" format="d.m.Y"/>
                <we:field name="DatumBeginn" type="date" format="H:i"/>
                -
                <we:field name="DatumEnde" type="date" format="H:i"/>
            </li>
        </we:repeat>
    </ul>
</we:listview>

Die Vorlage für alles mögliche

Meist kommen bestimmte Content-Blöcke immer wieder vor, sodass man sie der Redaktion als Vorlagen anbieten kann. Grundstock ist zunächst ein <we:block>, mit dem man neue Content-Abschnitte erstellt

 

powered by webEdition CMS