5.5.1 • • Grundsätzliches und (System-) Anforderungen

Für CMSimple_XH Templates wird die Markupsprache HTML 5 dringend empfohlen.
Der veraltete Standard HTML 4.01 Transitional wird bei den Templates unterstützt, allerdings können so nicht alle Funktionalitäten des aktuellen Standards HTML 5 genutzt werden.

Templates von CMSimple_XH bis Version 1.6.10 können in der Regel auch unter CMSimple 1.7.x genutzt werden, allerdings sollte bei ihrem erstmaligen Einsatz unter CMSimple_XH 1.7 deren Aussehen und Funktion überprüft werden, da einige Funktionalitäten (bspw. tag() ) nicht mehr unterstützt werden (siehe Auflistung weiter unten auf dieser Seite.).

Seit CMSimple_XH 1.7.0 erfolgt in der CMS-Konfiguration keine Unterscheidung mehr welche Markupsprache im Template eingesetzt wird. Weiterhin wird das Template Stylesheet nun als letztes beim Aufruf einer Seite verlinkt, so dass auch beispielsweise von Plugins definierte Regeln überschrieben werden.

Im Selfhtml-Wiki befindet sich ein Tutorial, indem die moderne HTML-Seitenstruktur mit den neuen HTML5-Elementen beschrieben wird: http://wiki.selfhtml.org/wiki/HTML/Tutorials/HTML5-Grundstruktur

Templates (oder Plugins) die im CMSimple_XH Wiki, oder im Anhang (Kapitel 6.1.5 (Referenzliste zu vorhandenen Templateanbietern)) dieser Bedienungsleitung gelistet sind, sind als standardkonform anzusehen.
Bei den nicht in diesen Quellen aufgelisteten Templates sollte darauf geachtet werden, dass die DTD (Doctype Deklaration) des Templates mit den Anforderungen auf dieser Seite übereinstimmen und unterstützen.

Installation und Aufbau von Templates

Verwendbare Template tags im Template:

Im folgenden Beispiel wird die Einbindung der (versteckten) CMSimple_XH Seite „News01“ als Newsbox an der Stelle im Template mit Hilfe des Template tags gezeigt, an der dieser Code im Template steht:

<?php echo newsbox('News01');?>

Die folgende (komprimierte) Auflistung von Funktionen müssen bzw. können im Template verwendet werden:

FunktionStatusBeschreibung
content() erforderlich Inhalt der Seite(n).
editmenu() Historie Erzeugte bis CMSimple_XH 1.5 im Admin-Modus das Admin-Menü und wird in neueren Template nicht benötigt. Ab CMSimple 1.7.0 ist es "missbilligt".
guestbooklink() Historie Erzeugte bis CMSimple_XH 1.5.4 einen Link für das Gästebuch und ist seit CMSimple_XH 1.5.4 definitiv "veraltert" und sollte nicht mehr genutzt werden. (Empfohlen wird ein Gästebuch Plugin)
head() erforderlich Erzeugt Tags zu Stylesheet, Meta-Daten und Seiten-Titel.
languagemenu() empfohlen Liefert Links für mehrsprachige Seiten.
lastupdate() empfohlen Liefert Zeit/Datum der letzten Änderung.
legallink() Historie Erzeugt einen Link zu den Copyright- und Lizenzinformationen. Ab CMSimple_XH 1.5.8 missbilligt und ab CMSimple_XH 1.7.0 entfernt.
li($c,'menulevel') optional Erzeugt Menü inkl. Untermenüs.
locator() optional Erzeugt den Locator (Breadcrumbs).
loginlink() empfohlen Zeigt den 'Login'-Link an (sofern nicht angemeldet).
mailformlink() optional Erzeugt den Link zum Kontaktformular, wenn unter "Einstellungen" => "CMS" => "E-Mail-Formular" eine Mailadresse eingetragen ist.
newsbox() optional Liefert den Inhalt einer versteckten ('hidden') Seite.
nextpage() optional Erzeugt einen Link zur nächsten Seite.
onload() erforderlich Erforderlich im Body-Tag für die Funktionen des Editors.
pagename() optional Zeigt den Inhalt der Konfigurationsvariable $cf['site']['title'].
Diese Variable wird aus der Sprachvariable $tx['site']['title'] erzeugt. Wenn der Titel für eine bestimmte Seite per meta_tags Plugin verändert wird, wird für diese Seite der geänderte Titel angezeigt.
previouspage() optional Erzeugt einen Link zur vorherigen Seite.
printlink() optional Erzeugt einen Link für die Druckansicht.
searchbox() optional Erzeugt das Suchfeld.
sitemaplink() optional Liefert einen Link zur Sitemap.
sitename() optional Zeigt den Inhalt der Sprachvariable $tx['site']['title'].
submenu() optional Erzeugt Links zu Unterseiten (sofern vorhanden). Ab CMSimple_XH 1.7.0 gibt es einen neuen Parameter der benutzerorientiertes Markup für die Submenüüberschrift erlaubt.
toc() erforderlich Erzeugt das Menü.
top() optional Erzeugt einen Link zum Anfang der Seite (#TOP). Ab CMSimple_XH 1.7.0 kann mit einem optionalen Parameter zu einer anderen ID als "#TOP" verlinkt werden.

Definition des Standards im Template
Im Template wird als allererstes (ganz oben) der Dokumententyp festgelegt, der dem Browser mitteilt, nach welchem Standard er Ihre Seite anzeigen soll.

Doctype HTML 5 (Aktueller Standard):

<!DOCTYPE html>
<html lang="de">

Die ehemalige Doctype Deklaration bis incl. CMSimple_XH 1.6.10 wird hier der Form halber noch aufgeführt:

Doctype html 4.01 transitional (Historie):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Doctype xhtml 1.0 transitional:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Dynamische Erzeugung des Doctypes für CMSimple_XH unter HTML 4.01 bzw. XHTML 1.0:

<?php
if ($cf['xhtml']['endtags'] == 'true') {
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n".
'<html xmlns="
http://www.w3.org/1999/xhtml">'."\n";
} else {
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'."\n".'<html>'."\n";}
?>

Mit diesem Code im Template wird die DTD dynamisch, entsprechend der Einstellung unter "XHTML:" => "konform", in die Website eingefügt. Diese Templates unterstützen also beide Markup Sprachen oder Dokumententypen.

Eine ausführlichere Beschreibung befindet sich im Kapitel 5.10.2 ("Architektur" => "Konventionen für (X)HTML" => "Doctype Declaration").

Weiterführende Informationen zu den Code Konventionen von Templates befinden sich im Wiki
http://www.cmsimple-xh.org/wiki/doku.php/de:code_conventions