CMS Templates

Was sind Templates?


Templates tragen in Content-Management-Systemen eine wichtige Rolle. Sie bestimmen, an welchen Stellen im Layout welche Module verantwortlich sind. Durch die Kombination verschiedener Layouts und Module sind eine Vielzahl Templates möglich.

Das Layout, das man im Template wählt, zeigt die Stellen an, an denen über ein Auswahlmenü dem Container-Typ entsprechend verfügbare Module eingesetzt werden können.


Die so erstellten Templates werden später Kategorien und Artikeln zugeordnet. Webdesigner können so Aussehen und Inhalte der einzelnen Bereiche eines Webaustritts gestalten. Z.B. einen Bereich zweispaltig einen anderen dreispaltig.

Mehr Templates

Neben den Templates gibt es noch Modul-Templates und Sub-Templates. Dabei sind Sub-Templates als Teil des Layouts, als Modul und darüber hinaus auch als Kombination aus Layout und Modul einsetzbar.

Modul-Templates

Das Content-Management-System Contenido hat vor einiger Zeit Modul-Templates einführt. Damit konnten dann Modul-Entwickler z.B. die Logik innerhalb des Moduls abwickeln und die Ausgabe mit HTML innerhalb der Templates gestalten.

<?php
...
$tpl = new Template();
$tpl->reset();
$tpl->set('s''FOO'$bar);
$tpl->generate('templates/modul_template.html');
...
?>

Abb 3: Contenido-Modul, das ein Modul-Template aufruft.

Über den Platzhalter {FOO} haben Entwickler nun innerhalb des Templates Zugriff auf den Wert der Variable $bar.

<div><p>{FOO}</p></div>

Abb 4: HTML-Code innerhalb eines Modul-Templates

Sub-Templates

aitsu:TemplateSelect bietet Redakteuren die Möglichkeit dynamisch Sub-Templates einzusetzen. Sub-Templates können aitsu:ShortCode in beliebiger Anzahl und Kombination enthalten. Über die Benennung der Templates lassen sich Template-Sets steuern.

Aufbau eines Sub-Templates

<div class="subcolumns equalize box-top">
  <div class="c50l">
    <div class="subcl">_[Image:1]</div>
  </div>
  <div class="c50r">
    <div class="subcr">_[Flash:1]Adressdaten</div>
  </div>
</div>
<div class="subcolumns equalize no-ie-padding box-bottom">
  <div class="c50l">
    <div class="subcl"> </div>
  </div>
  <div class="c50r">
    <div class="subcr"> </div>
  </div>
</div>

Abb 5: Beispiel eines Modul-Templates mit Shortcodes in XHTML