Schulverein GSNS v. 2015 Schulverein GSNS v. 2015

Layout anpassen

für die Liste aller Seiten

Administratoren

Diese Seite ist veraltet und hier für historische Zwecke (obwohl sie immer noch nützlich sein könnte) — siehe Skinvorlagen wegen einer aktuellerer Version.

Diese Seite beschreibt, wie ein WikiAdministrator das Wiki Erscheinungsbild (Layout) anpassen kann. Dies betrifft insbesondere die Kopf- und Fußbereiche. Das Layout wird über sogenannte Skins festgelegt, welche im Verzeichnis pub/skins/ gespeichert werden. Jeder Skin erhält ein Unterverzeichnis und eine Vorlagendatei (z. B. meinskin.tmpl), welche das Layout der Seitendarstellung definiert. Weiterhin werden in dieses Unterverzeichnis alle CSS-Dateien und Grafiken abgelegt, die für das Layout benötigt werden.

Um dies zu verdeutlichen: PmWiki wird ausgeliefert mit einem Standard-Skin, der "pmwiki" heißt. Dieser ist folglich unter pub/skins/pmwiki gespeichert. Dieses Verzeichnis enthält eine .tmpl Datei, die definiert, wie eine Wikiseite aufgebaut werden soll. Weiterhin befinden sich dort CSS- und Grafikdateien.

Wer das Layout anpassen möchte, hat grundsätzlich 3 Möglichkeiten:

  • Eine Kopie des pmwiki-Skins machen und diese verändern.
  • Einen fertigen Skin aus dem Kochbuch zu nehmen, diesen ggf. anpassen. Siehe in Skins:Skins nach Skins, die andere dort veröffentlicht haben.
  • Einen eigenen Skin von Grund auf selber zu gestalten.

Erstellen oder Verändern einer Vorlage

Die grundlegenden Schritte für die Anpassung eines Layouts ist das Anlegen eines eigenen Skin-Verzeichnisses unterhalb von pub/skins/, dem Anlegen einer Vorlagendatei (.tmpl) und evtl. dem hinzufügen von CSS- und Grafikdateien. In der Konfiguration muss man die Variable $Skin anpassen, damit sie auf das neue Skin zeigt.

Im folgenden werden die einzelnen Schritte erklärt.

Anpassen des "pmwiki" Skins

Der 'pmwiki'-Skin (pub/skins/pmwiki) ist Teil der PmWiki-Installation. Es ist ungünstig, diesen direkt zu ändern, weil dieser bei einem Upgrade überschrieben würde. Stattdessen sollten Sie ihn einfach in ein neues Verzeichnis kopieren, z. B. nach pub/skins/xyzskin.

Nachdem dies gemacht ist, können Sie in diesem Verzeichnis die .tmpl-Datei anpassen. Nachdem dies erledigt ist, setzen Sie in der zentralen Konfigurations-Datei local/config.php die Variable $Skin.

  $Skin = 'xyzskin';

Skin Vorlagen Datei

Eine Vorlagen-Datei (Template mit .tmpl-Endung) ist eine HTML-Datei, die zusätzlich Variablen bzw. Platzhalter enthält. Wenn PmWiki eine Seite zum Browser ausliefert, werden diese Platzhalter durch konkrete Inhalte ersetzt, z. B. den Seiteninhalt. Die Platzhalter werden als HTML-Kommentar eingebettet. Die Direktive <!--PageText--> muss sich innerhalb des <body> Bereiches des HTML-Dokuments befinden. Sie teilt PmWiki mit, dass dort der Seiteninhalt eingefügt werden soll. Eine weitere benötigte Direktive ist <!--HeaderText-->, über die PmWiki Angaben im <head> Bereich des HTML-Dokumentes einfügen kann.

In der ganzen Vorlagen-Datei werden Variablen wie $PageUrl, $ScriptUrl, $Group oder $Title durch die entsprechende URL der aktuellen Seite, der Basis-URL von pmwiki.php, dem Namen der aktuellen Wiki-Gruppe und dem Seitentitel ersetzt. Andere Variablen werden mit dem aktuellen Wert der globalen PHP-Variablen ersetzt.

Einige weitere oft verwendeten Variablen sind:

    $SkinDirUrl -  URL des Skin-Verzeichnisses
    $Namespaced -  Der Name der Seite, mit Leerzeichen zwischen den Wiki-Wörtern
    $Groupspaced -  Der Name der Gruppe, mit Leerzeichen zwischen Wiki-Wörtern

Es gibt weitere Direktiven, mit denen Inhalte anderer Seiten aufgenommen werden können oder externe Dateien eingefügt werden. Auch können diverse PHP Funktionen aufgerufen werden. Die Direktive <!--wiki:Main.SomePage--> kann benutzt werden, um den Inhalt der Seite Main.SomePage an beliebiger Stelle im Layout anzeigen zu lassen. Dies ist praktisch zum Erzeugen editierbarer Menüs, von Newstickern oder anderen zusätzlichen Infos, die auf jeder Seite angezeigt werden sollen.

Variablen-Substitution funktioniert ebenfalls in Direktiven, sodass <!--wiki:$Group.SomePage--> den Inhalt von SomePage in der aktuellen Gruppe anzeigt. Auch ist es möglich, mehrere Alternativen anzugeben, sodass <!--wiki:$Group.SomePage Main.SomePage--> zuerst versucht, SomePage in der aktuellen Gruppe anzuzeigen. Wenn diese nicht vorhanden ist, wird Main.SomePage stattdessen benutzt. <!--file:path/filename.ext--> fügt eine externe Datei in die Vorlage ein. Um statischen HTML-Text, der mit der Seite assoziiert ist, in die Seite einzufügen, können Sie das Folgende einsetzen: <!--file:path/$Name.frag-->.

Kategorie: Skins für die Liste aller Seiten


Originalseite auf PmWikiDe.LayoutBasics   —   Rückverweise

Zuletzt geändert:   PmWikiDe.LayoutBasicsam 12.12.2022