Lokale Anpassungen

für die Liste aller Seiten

Autoren (Grundlagen)

Ein Administrator des Wikis kann eine Menge Anpassungen vornehmen, indem er einfach Variablen in der local/config.php-Datei setzt und "cascading style sheets" (CSS) in der /pub/css/local.css-Datei definiert. Jede Gruppe oder Seite kann darüber hinaus ihre eigene Konfigurationsdatei und CSS-Konfigurationsdatei haben.

Diese Seite beschreibt, wie Anpassungen im Allgemeinen funktionieren, siehe Dokumentations-Index wegen genauerer Informationen über spezielle Anpassungen, die gewöhnlich bei vielen PmWiki Installationen durchgeführt werden, einschließlich:

local/config.php

Von Anbeginn an wurde PmWiki so entworfen, dass ein Administrator des Wikis die Art, wie PmWiki Seiten anzeigt und wie die Auszeichnungssequenzen zum Seiten erzeugen genutzt werden, weitgehend anpassen kann. (Das wird sogar ausdrücklich in der PmWiki-Philosophie #4 - gemeinsame Wartung - erwähnt.) Im Ergebnis macht das zentrale pmwiki.php-Skript intensiven Gebrauch von Variablen, um zu bestimmen, wie Auszeichnungssequenzen verarbeitet werden sollen und was jede individuelle Seite ausgibt.

Die einfachste Art der Anpassung ist, eine Variable auf 1 zu setzen (oder auf TRUE). Hier ist ein Beispiel, das ?action=diag- und ?action=phpinfo-Aktionen möglich macht:

$EnableDiag = 1;

Sie können eine Zeile mit einem "#" beginnen (einem Doppelkreuz, auch bekannt als Nummernzeichen, "Fis" oder "Lattenzaun"), um damit einen Kommentar einzuleiten. Außerdem nehmen einige PmWiki-Variablen andere Werte als 1 und 0 (true und false) an. Hier ist ein weiteres Beispiel, das des Wikis Verhalten bezogen auf Suchmaschinenrobotern anpasst (siehe Cookbook:ControllingWebRobots):

# Entferne das standardmäßige "rel='nofollow'"-Attribut für externe Verweise.
$UrlLinkFmt = "<a class='urllink' href='\$LinkUrl' title='\$LinkAlt'>\$LinkText</a>"

Das Unterverzeichnis scripts/ (unter dem Verzeichnis, das pmwiki.php enthält) beinhaltet viele Anpassungen) Das PmWiki-Kochbuch enthält viele Beispiele zu Anpassungen, die Sie in Ihr cookbook/-Unterverzeichnis herunterladen können. Die erste paar Zeilen in jedem Skript enthalten generell Instruktionen, wie die Features des Skripts aktiviert und eingesetzt werden.

Diese Anpassungen werden in Ihre config.php-Datei eingefügt. Bei den meisten Skripts reichte es aus

include_once("cookbook/rezeptdatei.php");

und

include_once("scripts/skriptdatei.php");

irgendwo an Ende der Datei config.php unterzubringen, um dessen Funktionen zu aktivieren.

Manche Skripts werden automatisch über die Datei scripts/stdconfig.php aktiviert, solange man nicht $EnableStdConfig=0; in der Datei local/config.php setzt.

Reihenfolge der Befehle in config.php

Die folgende Reihenfolge ist zu empfehlen:

  • definieren Sie $ScriptUrl und $PubDirUrl, wo nötig,
  • definieren Sie eine angepasste PageStore_class wie SQLite, CompressedPageStore or PerGroupSubDirectories,
  • als Nächstes fügen Sie (mit include_once) scripts/xlpage-utf-8.php ein,
  • als Nächstes rufen Sie XLPage() auf, das erwartet, dass das definierte (rw) $WikiDir-Verzeichnis schon gesetzt ist, damit XLPage() die Wiki-Seite mit den Übersetzungen auch finden kann,
  • als Nächstes müssen Sie authuser.php einfügen (wenn Sie das einsetzen wollen), weil PmWiki einige Seiten- und Gruppenautorisierungsniveaus zwischenspeichert, wenn auf eine Seite zugegriffen wird,
  • als Nächstes fügen Sie alle anderen Skripte und Rezepte ein,
  • jegliche direkten Funktionsaufrufe in config.php wie ResolvePageName(), CondAuth(), PageTextVar(), PageVar(), RetrieveAuthPage(), oder andere, sollten wenn möglich weit zum Ende der Datei hin erfolgen.

Beachten Sie, jedes dieser Teile ist nicht zwingend notwendig, wenn Sie sie aber einsetzen, dann ist dies die empfohlene Reihenfolge in config.php.

Zeichencodierung von config.php

Die Codierung hat einen Effekt, wenn Sie die config.php-Datei speichern. Ihr Editor sollte Ihnen erlauben, die Datei in der Codierung ihres Wikis zu speichern. (Die Voreinstellung von PmWiki ist ISO-8859-1, für neue Wikis wird empfohlen, UTF-8 zu aktivieren.)

Neuere Betriebssysteme wie GNU/Linux, FreeBSD und Apple haben generell die Voreinstellung Unicode/UTF-8 für das Speichern von Dateien. In Windows ist die Voreinstellung für die Codierung ANSI/Windows-1252, was fast das Gleiche wie PmWikis ISO-8859-1 ist.

Die folgenden frei verfügbaren Texteditoren können Dateien in verschieden Codierungen bearbeiten und speichern:

Beachten Sie, dass Sie, wenn Sie UTF-8-Codierung benutzen, die Datei "ohne Byte Order Mark (BOM)" speichern müssen.

Irgendwann wird es ein PmWiki-Update mit der Voreinstellung auf die UTF-8-Codierung geben, mit der sich alle möglichen Alphabete und Sprachen darstellen lassen. Siehe UTF-8 wegen weiterer Informationen.

pub/css/local.css

Sie können diese Datei anlegen und dort ein paar angepasste CSS-Stile definieren, welche die vom Skin vorgegebenen Stile überschreiben. Zum Beispiel:

  h1, h2, h3, h4, h5 { color: #880000; } /*dunkelrote Titel*/
  a { text-decoration: none; } /* unterstreiche Verweise nicht */

Verändern Sie die pmwiki.php-Datei nicht direkt (auch keine anderen Kerndateien)

Man sollte der Versuchung widerstehen die Datei pmwiki.php oder die Dateien im Unterverzeichnis scripts/ direkt zu verändern. Jegliche Änderung wird vielleicht mit dem nächsten Upgrade überschrieben. Stattdessen sollte man Ausschau nach Anpassungen halten, die in der Datei config.php durchgeführt werden können. Man kann sogar sein eigenes Skript erzeugen und es mit include_once(...) in der config.php einbinden. Wenn man eigene Skripts mit Anpassungen erstellt, kann man diese problemlos im Unterverzeichnis cookbook/ speichern. Dort werden sie bei Upgrades nicht überschrieben. Eventuell möchte man auch diese Anpassungen anderen über die pmwiki-users Mailingliste oder das Kochbuch zur Verfügung stellen, so dass auch andere Benutzer davon profitieren können, oder es sogar in eine zukünftige Version von PmWiki einfließen kann.

FAQ

Es gibt gar keine "config.php"-Datei, es ist nicht einmal klar, was eine lokale Anpassungsdatei sein soll!

Die "sample-config.php"-Datei im "docs"-Verzeichnis ist als Beispiel mitgeliefert. Kopieren Sie sie in das "local"-Verzeichnis und nennen Sie es in "config.php" um. Sie können dann die "#"-Symbole entfernen oder andere Befehle hinzufügen, die Sie in der Dokumentation gesehen haben. Siehe auch Individuelle Einstellungen pro Gruppe.

Kann ich die Standardseite auf etwas anderes als Main.HomePage ($DefaultPage) einstellen?

Ja, Sie müssen nur die $DefaultPage-Variable auf den Namen der Seite setzen, die Sie als Standard wünschen. Sie könnten auch mal einen Blick auf die $DefaultGroup- und $DefaultName-Konfigurationsvariablen werfen.

$DefaultPage = 'ABC.StartPage';

Beachten Sie die Empfehlungen zu $DefaultName und die Notwendigkeit, auch $PagePathFmt zu setzen, wenn Sie die Standardstartseite für Gruppen ändern.

Wie bekommen ich den Gruppen- oder Seitennamen in eine Anpassungsdatei (z. B. config.php)?

Benutzen Sie den folgenden Code für pmwiki-2-1-beta21 oder neuer:

## Hole den Gruppen- und den Seitennamen
$pagename = ResolvePageName($pagename);
$page = PageVar($pagename, '$FullName');
$group = PageVar($pagename, '$Group');
$name = PageVar($pagename, '$Name');

Beachten Sie die Wichtigkeit der Reihenfolge der Anpassungen in config.php weiter oben, um Probleme mit Zwischengespeichertem zu vermeiden.

Wenn Sie den wortgetreuen Seiten- oder Gruppennamen (vom Seitenaufruf des Browsers) sehr früh in config.php brauchen, ist $pagename garantiert gesetzt auf

  1. den Wert von ?n=, wenn er gesetzt ist, oder
  2. den Wert von ?pagename=, wenn der gesetzt ist, oder
  3. die "path info"-Information aus dem REQUEST_URI (was auch immer hinter dem SCRIPT_NAME folgt), oder
  4. auf einen leeren String.

in Übereinstimmung mit diesem Posting.

Kann ich etwas aus meinem wikilib.d/-Verzeichnis löschen?

Die Dateien mit den Namen Site.* und SiteAdmin.* enthalten Teile des Interfaces und der Konfiguration und sie sollten nicht entfernt werden. Die anderen Dateien namens PmWiki* oder z. B. PmWikiDe* enthalten die Dokumentation und können entfernt werden.

Wie passe ich meine eigene Fehler-404-Seite für nicht vorhandene Seiten an?

Um den Text der Nachricht zu ändern, bearbeiten Sie die Seite Site.PageNotFound.

Ist die Reihenfolge der Einträge in der config.php-Datei wichtig? Gibt es gewisse Dinge, die vor oder hinter anderen in dieser Datei kommen müssen?

Ja, siehe Reihenfolge der Anpassungen in config.php.

für die Liste aller Seiten


Übersetzung von PmWiki.LocalCustomizations,   Originalseite auf PmWikiDe.LocalCustomizations   —   Rückverweise

Zuletzt geändert:   PmWikiDe.LocalCustomizationsam 28.08.2016
 PmWiki.LocalCustomizationsam 22.08.2016