Templates

Aus DynPG-Wiki
Version vom 20. März 2009, 03:30 Uhr von Sebastian (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Einführung

Mit DynPG ist es möglich die Art und Weise wie Artikel und Listenansichten ausgegeben werden, zu beeinflussen. Ein Weg ist CSS, ein anderer (wesentlich flexiblerer) geht über die eingebaute Templateengine. Ein Beispiel: Der Aufruf

$DynPG->Write_Article();

bewirkt, dass die Detailansicht eines Artikels angezeigt wird. Dabei wird (wenn nichts anderes explizit angegeben wurde) implizit ein Standard-Template verwendet, das definiert wie diese Ansicht auszusehen hat. Im DynPG-Unterverzeichnis /tpl/MyCMS/default/ liegen die Templatedateien für die Standardansichten.

  • groups.tpl (Gruppenlistenansicht)
  • articles.tpl (Artikellistenansicht)
  • detail.tpl (Artikel-Detailansicht)
  • home.tpl (Home-Ansicht)
  • navigation.tpl (Blätterfunktion der Listen-Ansichten)
  • search-form.tpl (Formular für die Suche)

In diesen Dateien haben Sie die Möglichkeit, oben genannte Ansichten nach Ihren Wünschen anzupassen. Die Darstellung geschieht grundsätzlich mit HTML. Zusätzlich gibt es eine Templatesprache. Diese ist schlicht gehalten und beinhaltet einige wenige Elemente die nachfolgend näher betrachtet werden sollen. Statt die Standard-Templates zu manipulieren, können auch neue Templates erzeugt werden. Dazu muss im Unterverzeichnis /tpl/MyCMS/ einfach ein neuer Ordner mit dem gewünschten Templatenamen angelegt werden. Je nachdem welche Ansichten nun geändert werden sollen, fügt man Dateien mit denselben Namen wie in oben genannter Liste ein. Diese können dann nach den eigenen Wünschen bearbeitet werden. Mit den Zeilen

$DynPG->setupTemplate("meinTemplate");
 
$DynPG->SetParam_A_Article(13);
 
$DynPG->Write_Article();

wird das Template "meinTemplate" gesetzt und damit der Artikel 13 ausgegeben.


Caution.png Achtung Das Setzen eines Templates muss vor der Ausgabe des Artikels erfolgen!

Caution.png Achtung Wenn das Template gesetzt wurde, dann wird es auch für alle nachfolgenden Ausgaben verwendet! Ist dies unerwünscht, muss man explizit wieder das Standard-Template("default") setzen!

Ein erstes kleines Beispiel =

Da alle Theorie grau ist, hier ein kleines einführendes Beispiel:

Beispiel 2.1. Template-Minimalbeispiel (eigene Artikel-Detailansicht in /tpl/MyCMS/minimal/detail.tpl)

<!-- Dies ist ein Kommentar (er wird nicht angezeigt) -->
{$CONTENT} <!--Den Inhalt des Artikels ausgeben--> 

Dies ist ein <b>selbstdefiniertes Template</b>  <!--beliebiger HTML-Code-->

<!--Alles was hier drinsteht, wird nach dem Aufruf von $DynPG->Write_Article(); eingefügt -->


Ich habe mir also mit dem Ordner /tpl/MyCMS/minimal ein eigenes Template angelegt. In diesen Ordner packe ich die Datei detail.tpl, die obigen Inhalt aufweist. Damit hab ich meine eigene Artikel-Detailansicht definiert, die ich jetzt jederzeit auf meiner Seite verwenden kann, indem ich z.B.

$DynPG->setupTemplate("minimal");
 
$DynPG->SetParam_A_Article(13);
 
$DynPG->Write_Article();

aufrufe. {$CONTENT} ist ein Platzhalter für den Inhalt des anzuzeigenden Artikels. An dieser Stelle wird dann also der eigentlich Artikeltext eingefügt (das macht die Templateengine). Eine Liste der Templatevariablen (Platzhalter) finden Sie im nächsten Kapitel. In die Template-Datei kann zudem auch beliebiger HTML-Code eingefügt werden, wodurch den Gestaltungsphantasien fast keine Grenzen gesetzt sind!