Hauptmenü öffnen

Eine Vorlage ist eine Seite, die die Einbindung häufig verwendeter Elemente in andere Seiten erleichtert. Im einfachsten Fall handelt es sich dabei um einen vorformulierten Textbaustein, der auf einer anderen Seite eingefügt werden kann.

Häufig enthalten Vorlagen auch die Möglichkeit, veränderliche Daten einzufügen, binden grafische Elemente ein und verwenden eine elementare Programmierung. Auf diese Art wird beispielsweise die Einbindung von Flexionstabellen oder Bausteinen realisiert.

Vorlagen verwendenBearbeiten

AllgemeinesBearbeiten

Um eine einfache Vorlage in einem Artikel zu verwenden, gibt es drei Möglichkeiten:

  1. Im Hauptanwendungsfall fügst du eine Vorlage mit {{Titel}} ein. Beim Anzeigen der Seite ersetzt die MediaWiki-Software dies dann durch den Inhalt der Vorlage „Titel“. Ändert jemand die Vorlage, ändert sich dadurch auch die Darstellung.
  2. {{subst:Titel}} (für Substitution) oder auch {{ers:Titel}} (für Ersetzen) fügt ebenfalls den Inhalt der Vorlage ein, ersetzt den Titel der Vorlage jedoch auch in der Bearbeitungs-Umgebung (die Ansicht, die man erhält, wenn man oben auf den Reiter „Seite bearbeiten“ geklickt hat) durch den eigentlichen Text der Vorlage. Auf diese Art werden zum Beispiel neue Benutzer begrüßt, die anschließend auf ihrer Seite auch beim Bearbeiten den Text der Begrüßung vorfinden sollen und kein verwirrendes {{Hallo}}.
  3. {{msgnw:Titel}} zeigt im Artikel den Quellcode der Vorlage an. Diese Funktion wird selten, eigentlich nur zur Erklärung von Vorlagen, gebraucht.

Seiten, die nicht im Namensraum „Vorlage“ stehen, lassen sich dennoch als Vorlage verwenden, wenn man den Namensraum mit angibt. Zum Beispiel würde {{Wiktionary:Fragen zum Wiktionary}} die Seite Wiktionary:Fragen zum Wiktionary als Vorlage einbinden. Will man eine Seite aus dem Artikelnamensraum einbinden, muss man allerdings noch einen Doppelpunkt vor den Namen setzen: So würde {{:Droschke}} beispielsweise den Artikel Droschke als Vorlage einbinden.

Bedingtes Einbinden von QuelltextblöckenBearbeiten

Folgende Tags sollten nur innerhalb von Seiten verwendet werden, die als Vorlage eingebunden werden:

<onlyinclude>
Wenn die Vorlage direkt betrachtet wird, haben <onlyinclude> und </onlyinclude> keine Wirkung auf alles, was dazwischen steht. Wenn die Vorlage jedoch auf einer anderen Seite eingebunden ist, wird ausschließlich angezeigt, was zwischen <onlyinclude> und </onlyinclude> steht. Mit <onlyinclude> können Dokumentation, Kategorie und Interwiki-Links in Vorlagen eingefügt werden, ohne dass diese in den Artikeln auftauchen. Es können auch mehrere nicht-verschachtelte <onlyinclude>-Blöcke in einer Vorlage stehen.
<includeonly>
Alles, was in einer Vorlage zwischen <includeonly> und </includeonly> steht, wird nur dann angezeigt, wenn die Vorlage auf einer anderen Seite eingebunden wird. Mit <includeonly> lassen sich zum Beispiel alle Seiten, die eine bestimmte Vorlage enthalten, automatisch einer Kategorie hinzufügen. <includeonly> kann auch in <onlyinclude>-Blöcken stehen.
<noinclude>
Alles, was in einer Vorlage zwischen <noinclude> und </noinclude> steht, wird dagegen nur dann angezeigt, wenn die Vorlage selbst betrachtet wird. <onlyinclude> sollte zum Abgrenzen des eigentlichen Vorlagentextes von der Dokumentation, den Kategorien und Interwikilinks bevorzugt werden. <noinclude> kann auch in <onlyinclude>-Blöcken stehen.
Tag-Kombination Auf der Vorlagenseite sichtbar ? Einbindung ? Anmerkung
keine Ja Ja Nur, wenn kein onlyinclude in der Vorlage ist.
<includeonly>…</includeonly> Nein Ja Nur, wenn kein onlyinclude in der Vorlage ist.
<noinclude>…</noinclude> Ja Nein Auch innerhalb von onlyinclude
<onlyinclude>…</onlyinclude> Ja Ja Text außerhalb wird nicht eingebunden.
<onlyinclude><includeonly>…
</includeonly></onlyinclude>
Nein Ja Text außerhalb wird nicht eingebunden.
<onlyinclude>Text 1</onlyinclude>…
<includeonly>Text 2</includeonly>
Text 1: Ja,
Text 2: Nein
Text 1: Ja, Text 2: Nein Text 2 ist keine sinnvolle Kombination.

BeispielBearbeiten

Der folgende Quelltext:

Dokumentierender Text …

<onlyinclude>{| class="wikitable float-right"
 | [[Datei:{{{1<noinclude>|abc.jpg</noinclude>}}}|miniatur|{{{3}}}]]
 | {{{2}}} | {{{3}}}
|}
<includeonly>[[Kategorie:!Hauptkategorie]]</includeonly></onlyinclude>

[[Kategorie:Wiktionary:Navigationsleiste]]
  • beim Betrachten der Vorlagenseite:

Dokumentierender Text …

{{{3}}}

Kategorie:Wiktionary:Navigationsleiste

  • Mit der Einbindung {{Vorlagenname|Test.jpg|class="hintergrundfarbe5"|← Beispiel}}
 
← Beispiel
← Beispiel

Kategorie:!Hauptkategorie

Parameter einfügen und verwendenBearbeiten

Oft sollen in einer Vorlage Inhalte auftauchen, die sich jedoch von Seite zu Seite ändern, zum Beispiel die in Vorlage:Verb-Tabelle aufgeführten Formen. Das erreicht man mit Parametern.

In der Vorlage kennzeichnet man durch drei geschweifte Klammern Stellen als Platzhalter; diese können entweder durchnummeriert oder durch frei gewählte Namen bezeichnet werden:

Nach Angaben von {{{1}}} ist diese Seite kopiert von {{{2}}}
Nach Angaben von {{{Wiktionaryaner}}} ist diese Seite kopiert von {{{Quelle}}}

Ein Platzhalter kann auch als Wikilink fungieren, wenn er seinerseits mit zwei eckigen Klammern umgeben ist, wie zum Beispiel in [[{{{1}}}]].

Wenn man eine solche Vorlage mit Parametern versehen will, muss man nach dem Namen der Vorlage, getrennt mit jeweils einem senkrechten Strich von diesem und voneinander, die aktuell gewünschten Werte angeben:

{{Vorlagenname|Hans-Herbert37|http://www.sonstwo.de/}}
{{Titel|Wiktionaryaner=Hans-Herbert37|http://www.sonstwo.de/}}

Achtung, die erste Schreibweise leistet das Gewünschte nur, wenn die Platzhalter in der Vorlage nummeriert sind, nicht, wenn sie frei benannt sind. Die zweite Schreibweise empfiehlt sich bei Vorlagen, die mehrere, leicht verwechselbare Parameter enthalten.

Wenn ein Parameter nicht mit Inhalt befüllt wird, so erscheint er leer.

Wird ein Parameter nachträglich in eine bestehende Vorlage eingefügt, müssen eventuell die verwendenden Artikel entsprechend geändert werden. Wird dies unterlassen, so wird entweder der Standardwert des Parameters verwendet oder die Änderung hat keine Auswirkungen auf den Artikel.

Daneben existieren in MediaWiki auch einige vordefinierte Variablen, die als Parameterwerte nützlich sind, zum Beispiel der Name der aktuellen Seite ({{PAGENAME}}).

Achtung: Parameter im MediaWiki-Namensraum werden anders verwendet ($1, $2 …).

Vorgabe-Parameterwert definierenBearbeiten

Man kann einen Parameter so definieren, dass für ihn bei Gebrauch der Vorlage kein Wert angegeben werden muss. Ohne diese Angabe findet dann ein vorher definierter Wert Verwendung. Bei einem Konstrukt wie {{{Vorlagenname|{{PAGENAME}}}}} wird der erste angegebene Parameterwert ausgegeben, ansonsten der Name des Artikels. Damit so ein Konstrukt ausgewertet wird, muss der Parameterwert ganz weggelassen werden. Derlei Konstrukte belasten die Server auch nicht so stark wie fest definierte Parameterwerte. Siehe auch meta:Help:Parameter default.

Wichtig:

Der Parameterwert darf dabei auch nicht leer übergeben werden. Mit

{{Vorlagenname|Titel=}}

funktioniert es nicht. Es muss

{{Vorlagenname}}

lauten.

Soll ein Standardwert auch bei

{{Vorlagenname|Titel=}}

eingesetzt werden, so muss in der Vorlage

{{#if:{{{Titel|}}}|{{{Titel}}}|{{PAGENAME}}}}

stehen.

Problem: AufzählungszeichenBearbeiten

  • Will man Aufzählungszeichen, wie am Anfang dieser Zeile eines steht, als Parameterwert benutzen, so sollte in der Vorlage vor dem Parameter eine neue Zeile begonnen werden.

Problem: Gleichheitszeichen in ParameterwertenBearbeiten

Übergibt man einer Vorlage als Parameterwert einen Text, der ein Gleichheitszeichen enthält, nimmt die MediaWiki-Software an, vor dem ersten Gleichheitszeichen stünde der Name eines Parameters, dem der Rest des Textes hinter dem ersten Gleichheitszeichen als Wert zugewiesen werden solle. Alle Parameterangaben mit enthaltenem Gleichheitszeichen werden also als Name-Wert-Paare interpretiert und dazu am ersten Gleichheitszeichen zerlegt.

Dieses Problem tritt etwa auf, wenn man als Parameterwert an eine Vorlage eine URL übergeben will, in der ein Gleichheitszeichen enthalten ist (z. B.: http://de.wikipedia.org/w/index.php?title=Hilfe:Vorlagen&action=edit&section=3), oder auch einen Text mit enthaltenen „style“-Abschnitten.

Die Abhilfe gegen diese unerwünschte Interpretation ist, dass man dem Parametertext den numerischen Index des Parameters und ein weiteres Gleichheitszeichen voranstellt. Dann wird wie gewünscht interpretiert, dass der Parameterwert schon hinter dem (hinzugesetzten) ersten Gleichheitszeichen beginnt, und der diesem vorangestellte Index bezeichnet unmissverständlich den "Zielparameter" für den Textwert. Die Zählung der Parameter beginnt dabei mit 1 beim ersten Parameter nach dem Vorlagennamen selbst.

Statt: {{Vorlagenname|http://…/index.php?title=…&action=edit&section=3}}
Richtig: {{Vorlagenname|1=http://…/index.php?title=…&action=edit&section=3}}


Statt: {{Vorlagenname|erster Parameter|xx<span style="font-style:italic;">kursiv</span>zz}}
Richtig: {{Vorlagenname|erster Parameter|2=xx<span style="font-style:italic;">kursiv</span>zz}}

Problem: Sonderzeichen in ParameterwertenBearbeiten

TabellenelementeBearbeiten

Vorlage {{!}} {{!-}} {{!!}} {{!-!}} {{!}}+ {{!~}} {{(!}} {{!)}}
Inhalt | |- || |-
|
|+ |-
!
{| |}

Da das Zeichen „|“ zur Trennung von Parametern dient, darf es nicht selbst in Parameterwerten vorkommen. Es kann durch &#124; vertreten werden, es sei denn, es soll Tabellensyntax in Parameterwerten verwendet werden. Dafür gibt es dann die folgenden speziellen Vorlagen, die ausschließlich in Parameterwerten eingesetzt werden sollten.

Zur Darstellung von einfach geschweiften Klammern können &#123; für { und &#125; für } verwendet werden. Eine lesbarere Variante ist es, den Text in nowiki-Tags einzufassen, wenn nichts darin als Vorlage interpretiert werden soll.

Geschweifte KlammernBearbeiten

Vorlage {{((}} {{))}}
Inhalt {{ }}

Ein verwandtes Problem tritt bei den geschweiften Klammern „{{“ und „}}“ auf. Werden diese Zeichenfolgen selbst eingegeben, so versucht der Interpreter den dazwischenliegenden Text auf Gedeih und Verderb als Vorlage zu interpretieren. Mit den folgenden Vorlagen kann man durch bedingte Abfragen erreichen, dass der Interpreter nur notwendige Substitutionen vornimmt, man unterbindet somit unnötige Kaskaden. Diese Vorlagen sollen ausschließlich in Parameterwerten eingesetzt werden.

Zur Darstellung von einfach geschweiften Klammern können &#123; für { und &#125; für } verwendet werden. Eine lesbarere Variante ist es, den Text in nowiki-Tags einzufassen, wenn nichts darin als Vorlage interpretiert werden soll.

Größere Tabellenteile als Parameter können auch auf eine Unterseite geschrieben und dann eingebunden werden. Ist auch das nicht praktikabel, kann notfalls auch auf HTML zurückgegriffen werden.

Eckige KlammernBearbeiten

Vorlage {{(}} {{)}}
Inhalt [ ]

Zur Darstellung von einfachen eckigen Klammern können &#91; für [ und &#93; für ] verwendet werden. Eine lesbarere Variante ist es auch hier, den Text in nowiki-Tags einzufassen, wenn nichts darin als Vorlage interpretiert werden soll. Des Weiteren kann man folgende Vorlagen verwenden:

EinsatzmöglichkeitenBearbeiten

Vorlagen sollten nicht doppelt oder sehr ähnlich entstehen.

Vorlagen dienen im Wiktionary zur:

  • Konsistenzmaximierung: Mit Vorlagen lässt sich ein einheitliches Erscheinungsbild erreichen. Beispiele sind etwa die Vorlage:Verb-Tabelle oder Vorlage:Wikipedia.
  • Redundanzminimierung: Wenn der Inhalt zentral nur an einer Stelle festgelegt wird (d. h. in einer Vorlage), dann erscheint der Inhalt in allen Artikeln gleich, auch bei einer nachträglichen Änderung. Das mühselige und fehlerträchtige Übertragen einer Änderung in jeden Artikel entfällt.
  • Workflowoptimierung: Mit einer Vorlage kann ein Wikiautor prägnant anderen Wikiautoren mitteilen, in welche Richtung ein Artikel verbessert werden sollte. Bekannte Beispiele sind: Vorlage:URV (Urheberrechtsverletzung), Vorlage:überarbeiten oder Vorlage:Löschantrag. Bei der Verwendung der Vorlagen wird der Artikel automatisch in spezielle Kategorien für andere Wikiautoren oder Administratoren eingetragen.
  • Codeoptimierung: Manche schöne Darstellung lässt sich nur mit einem unschönen Mix aus Wikibefehlen und HTML- bzw. CSS-Befehlen erreichen. Der Artikelquellcode wird dann schnell unübersichtlich und verschreckt Wikianfänger sich auch an der weiteren Verbesserung eines Artikels zu beteiligen. Hier kann eine Vorlage helfen, den Artikelquellcode lesbarer zu gestalten.

Sie sollten nicht dienen als:

  • Benutzersignaturen: Die Idee, Vorlagen für die eigene Benutzersignatur zu verwenden, mag ja gut klingen: man muss nur die Vorlage ändern und alle Signaturen, die man irgendwann mal hinterlassen hat, werden „aktualisiert“. Dabei sollte man aber die nicht ganz offensichtliche Tatsache bedenken, dass jede Benutzung einer Vorlage eine zusätzliche Anfrage an die Datenbank bedeutet und somit das Wiktionary belastet, ohne zum eigentlichen Zweck derselben beizutragen.
  • Abkürzung der Wikisyntax: Die Abkürzung von regelmäßig vorkommenden Textbausteinen durch Vorlagen mag praktisch sein (beispielsweise {{BND}} statt [[Bundesnachrichtendienst]] der Bundesrepublik Deutschland).

Vorlagen dokumentierenBearbeiten

Vorlagen, die in normalen Artikeln verwendet werden, sollten so einfach gestaltet sein, dass Zweck und Anwendung unmittelbar verständlich sind. In jedem Fall ist eine Beschreibung ihrer Funktion notwendig. Dies kann im noinclude-Bereich der Vorlagenseite geschehen. Bei häufig eingebundenen Vorlagen sollte die Funktionsbeschreibung jedoch besser auf einer separaten Seite stehen; auf diese kann dann mithilfe der Vorlage:Dokumentation noinclude-Bereich der Vorlagenseite verwiesen werden. Eine Änderung der Vorlagenseite selbst bewirkt nämlich, dass alle davon abhängigen Seiten bei einem erneuten Aufruf neu generiert werden müssen, anstatt sie aus dem Cache laden zu können. Diese Serverlast sollte vermieden werden. Die vorstehende Überlegung ist allerdings auch nur relevant, wenn mit Überarbeitungen der Dokumentation bei unveränderter Funktion zu rechnen ist; das Auslagern der Dokumentation verbessert jedoch ohnedies die Übersichtlichkeit.

Ausführliche Dokumentation auf einer UnterseiteBearbeiten

Für eine ausführliche Dokumentation eignet sich eine Unterseite der Vorlage. Dafür sollte die Systematik der Vorlage:Dokumentation verwendet werden. Diese sieht vor, dass die Funktion der Vorlage auf einer Unterseite /Doku der Vorlagenseite beschrieben wird. Der Inhalt der Unterseite erscheint dann beim Betrachten der Vorlagenseite. Die Vorlage:Dokumentation wird durch <noinclude>{{Dokumentation}}</noinclude> am Ende der Vorlage eingebunden. Zum weiteren Vorgehen siehe die Dokumentation der Vorlage:Dokumentation.

KategorisierungBearbeiten

Jede Vorlage sollte in entsprechende Kategorien eingeordnet werden. Bei einer Einsortierung ist zu beachten, dass dies innerhalb von <noinclude>…</noinclude> geschieht, damit nur die Vorlage der Kategorie zugeordnet wird und nicht alle Seiten, in denen die Vorlage verwendet wird. Des Weiteren sollte die Einsortierung der Vorlage in der Kategorie mittels eines senkrechten Striches hinter dem Kategorienamen präzisiert werden: ([[Kategorie:xyz|Sortierung]]).

Vorlagen testenBearbeiten

Vorlagen können auf der Spezialseite „ExpandTemplates“ getestet werden.

Siehe auchBearbeiten