Layout Basics

Layout — Grundlagen

Auf dieser Seite wird beschreiben, wie WikiAdministratoren das Aussehen von PmWiki-Seiten (z.B. Kopf- und Fußzeilen) verändern können. Seit PmWiki 0.6.1 wird das Layout standardmäßig durch eine ‘Vorlagen-Datei’ (Template) kontrolliert, die sich im Verzeichnis pub/skins/ befindet. PmWiki enthält ein Standard-Layout (eine sogenannte Skin-Datei), die unter pub/skins/pmwiki/pmwiki.tmpl gespeichert ist. Um das Layout anzupassen, erstelle einfach eine neue Vorlage (etwa mit dem Namen myskin) und füge eine Zeile wie

        $PageTemplateFmt = “pub/skins/myskin/myskin.tmpl”;

zu Deiner Konfigurationsdatei local/config.php hinzu.

Unter Cookbook:Skins findest Du Vorlagen und Layoutentwürfe, die andere Benutzer von PmWiki zur Verfügung gestellt haben.

Das Erzeugen und Verändern einer Vorlage

Um das Layout Deinen Vorstellungen entsprechend anzupassen, kannst Du entweder von Anfang an eine neue Vorlagen-Datei zusammenstellen oder Du kannst eine vorhandene Vorlagen-Datei verändern. Wenn Du eine der mit PmWiki verteilten Dateien als Ausgangspunkt nehmen willst, dann solltest Du eine Sicherheitskopie Deiner angepassten Datei machen oder von vornherein eine umbenannte Kopie der Ausgangsdatei bearbeiten. Anderenfalls besteht die Gefahr, dass Deine Anpassungen bei der Aktualisierung von PmWiki verlorengehen. Vergiss nicht, die Variable $PageTemplateFmt in local/config.php so zu setzen, dass sie auf Deine neue Vorlage verweist.

Im Prinzip ist eine Vorlagen-Datei eine normale HTML-Datei, die zusätzlich PmWiki-Variablen (erkennbar am Zeichen ‘$’ vor dem Variablennamen) sowie spezielle, in HTML-Kommentaren eingebettete, Anweisungen enthält. Zwei dieser speziellen Anweisungen müssen in der Vorlagen Datei enthalten sein: Die Anweisung <!--PageText--> befindet sich im <body>-Abschnitt des HTML-Dokumentes und teilt PmWiki mit, an welcher Stelle innerhalb einer jeden Wikiseite der eigentliche Seiteninhalt angezeigt werden soll. Die zweite erforderliche Anweisung ist <!--HeaderText-->, die irgendwo innerhalb des <head>-Abschnittes des HTML-Dokumentes stehen muss.

Innerhalb der gesamten Layoutvorlage werden Variablen wie $PageUrl, $Script Url, $Group@@ und @@$Title durch die URL der aktuellen Seite, die eigentliche URL des Skriptes pmwiki.php, den Namen der aktuellen WikiGruppe bzw. den Titel der angezeigten Seite ersetzt. Andere in der Vorlage verwendete Variablen werden durch die Werte der entsprechenden globalen PHP-Variablen ersetzt. Zwei weitere typische Variablen:

    $Titlespaced — Der Seitentitel mit Leerzeichen zwischen einzelnen Wörtern
    $Groupspaced — Die Gruppe, zu der die Seite gehört, mit Leerzeichen zwischen den Wörtern

Schließlich kann die Vorlage weitere Anweisungen enthalten, die den Inhalt anderer Seiten oder den Inhalt von Dateien auf der Festplatte anzeigen oder die andere PHP-Funkitionen aufrufen. Die Anweisung <!--wiki:Main.IrgendeineSeite--> an einer beliebigen Stelle der Vorlage kann genutzt werden, um den Inhalt von Main.IrgendeineSeite an der entsprechenden Stelle anzuzeigen. Dies ist nützlich um bearbeitbare Menüs oder Navigationsleisten aus anderen Seiten als der aktuellen einzubinden. Auch hier funktioniert die beschriebene Variablensubstitution, so dass <!--wiki:$Group.IrgendeineSeite--> den Inhalt von 'IrgendeineSeite' der aktuellen WikiGruppe anzeigt. Es können auch mehrere Alternativen angegeben werden, beispielsweise zeigt <!--wiki:$Group.IrgendeineSeite Main.IrgendeineSeite--> den Inhalt von IrgendeineSeite der aktuellen Gruppe an, sofern diese existiert. Ist diese Seite nicht vorhanden, wird stattdessen Main.IrgendeineSeite verwendet.



This page may have a more recent version on pmwiki.org: PmWiki:LayoutBasics, and a talk page: PmWiki:LayoutBasics-Talk.