de:namespace_templates
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
de:namespace_templates [2009-06-14 01:01] – removed ach | de:namespace_templates [2017-09-21 12:56] – [Ersetzungsmuster] Juergen_aus_Zuendorf | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Templates in Namensräumen (namespace templates)====== | ||
+ | |||
+ | Manchmal möchte man neuen Seiten in einem bestimmten Namensraum ein vorgegebenes Skelett geben. | ||
+ | |||
+ | Als Beispiel: In dem Namensraum '' | ||
+ | |||
+ | Dies kann ganz einfach mit sogenannten " | ||
+ | |||
+ | Wenn eine neue Seite angelegt wird, schaut [[DokuWiki]], | ||
+ | |||
+ | |||
+ | ===== Template-Dateien ===== | ||
+ | Zwei Arten von Template-Dateien können benutzt werden: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | Ein Weg um eine Template-Datei zu erstellen: | ||
+ | |||
+ | * Öffne eine normale Wikiseite im gewünschten Namespace und füge den Inhalt für das Template ein. | ||
+ | * Öffne den Ordner mit FTP oder WebDAV und mache eine Kopie der Seite und benenne Sie wie oben beschrieben. | ||
+ | * Benutze das Wiki, um den Template-Entwurf zu löschen. | ||
+ | |||
+ | ===== Syntax ===== | ||
+ | Der Inhalt der Datei ist normale [[de: | ||
+ | ==== Ersetzungsmuster ==== | ||
+ | |||
+ | Innerhalb der Datei können auch einige Ersetzungsmuster benutzt werden, die das Template dynamischer gestalten. | ||
+ | |||
+ | ^ @ID@ | vollständige ID der Seite | | ||
+ | ^ @NS@ | Namensraum der Seite | | ||
+ | ^ @CURNS@ | letztes Teilstück vom Namensraum der Seite | | ||
+ | ^ @PAGE@ | ||
+ | ^ @!PAGE@ | ||
+ | ^ @!!PAGE@ | Das gleiche wie oben, der erste Buchstabe von jedem Wort ist großgeschrieben | ||
+ | ^ @!PAGE!@ | Das gleiche wie oben, alle Buchstabe sind großgeschrieben | ||
+ | ^ @FILE@ | ||
+ | ^ @!FILE@ | ||
+ | ^ @!FILE!@ | Das gleiche wie oben, der erste Buchstabe von jedem Wort ist großgeschrieben | ||
+ | ^ @USER@ | ||
+ | ^ @NAME@ | ||
+ | ^ @MAIL@ | ||
+ | ^ @DATE@ | ||
+ | |||
+ | |||
+ | Es ist auch möglich [[phpfn> | ||
+ | |||
+ | ===== Template Bearbeitung ===== | ||
+ | |||
+ | Die Datei '' | ||
+ | Es gibt zwei Tricks um dies zu umgehen. Für einen muss ein symlink gesetzt werden, für den anderen ist es nötig den Code zu ändern. | ||
+ | |||
+ | |||
+ | ==== Template Bearbeitung mit Symlinks==== | ||
+ | |||
+ | Auf diese Weise können die Templates in einem speziellen Namensraum gespeichert werden. | ||
+ | |||
+ | Mit einem Symlink zu diesem Namensraum können diese Seiten als Template benutzt werden. Um das Template schreibgeschützt anzulegen ist die andere Variante besser geeignet. | ||
+ | |||
+ | - Erstelle einen Namensraum " | ||
+ | - Erstelle in diesem Namensraum eine Seite für jedes Namensraumtemplate. | ||
+ | - Folge den Anweisungen oben, aber erstelle _template.txt als einen hardlink zu der erstellen Seite unter dem template Namensraum. Das Template kann nun einfach über das Wiki geändert werden. | ||
+ | |||
+ | >> Ich habe eine andere Methode benutzt: Erstelle eine '' | ||
+ | >> ('' | ||
+ | >> Auf diese Art kann ich Templates editieren, in dem ich auf eine Seite in einem Namensraum gehe und den Seitennamen in der URL durch " | ||
+ | >> (z. B. '' | ||
+ | >> | ||
+ | >> So können softlinks benutzt werden, nur ein wenig anders :) | ||
+ | \\ | ||
+ | > Um Softlinks zu benutzen, ist es manchmal nötig die Option " | ||
+ | \\ | ||
+ | ==== Frei editierbare Templates für alle Benutzer | ||
+ | |||
+ | Bei dieser Methode sind alle Templates für jeden mit Schreibrechten editierbar. | ||
+ | |||
+ | Öffne die Datei '' | ||
+ | |||
+ | // | ||
+ | <file php> | ||
+ | /* Modifikation, | ||
+ | siehe https:// | ||
+ | if(file_exists($path.'/ | ||
+ | | ||
+ | wurde ersetzt durch: */ | ||
+ | if(file_exists($path.'/ | ||
+ | | ||
+ | /* Ende der Modifikation */ | ||
+ | </ | ||
+ | |||
+ | Jetzt kann jeder Benutzer mit Schreibrechten in einem Namensraum eine Seite " | ||
+ | |||
+ | * //Notiz:// Diese Methode hat den Vorteil, dass neue Templates direkt genutzt werden. Dies ist bei den anderen Methoden nicht immer der Fall. | ||
+ | |||
+ | ==== @GROUPS@ Unterstützung ==== | ||
+ | Es mag interessant sein Unterstützung für das '' | ||
+ | |||
+ | <code unidiff> | ||
+ | Index: dokuwiki-2009-02-14/ | ||
+ | =================================================================== | ||
+ | --- dokuwiki-2009-02-14.orig/ | ||
+ | +++ dokuwiki-2009-02-14/ | ||
+ | @@ -840,6 +840,7 @@ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | + ' | ||
+ | ' | ||
+ | ), | ||
+ | array( | ||
+ | @@ -855,6 +856,7 @@ | ||
+ | | ||
+ | | ||
+ | | ||
+ | + implode(" | ||
+ | | ||
+ | ), $tpl); | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | --- // | ||
+ | |||
+ | ====== Suggestions ====== | ||
+ | |||
+ | * Es ist eventuell sinnvoll den Standard Seitennamen in der Konfiguration zu setzen, um sich den Ärger bei einem Update zu ersparen. Der Zugang zu den Templates kann mit ACL eingeschränkt werden. | ||
de/namespace_templates.txt · Zuletzt geändert: 2022-08-27 08:06 von 2003:c8:a74a:7b00:ecaf:c356:16df:9e1c