Änderungen

Hilfe:Vorlagen

38.305 Byte hinzugefügt, 13:18, 11. Nov. 2021
Die Seite wurde neu angelegt: „{{Weiterleitungshinweis|H:V|Möglicherweise wolltest du zu [[Hilfe:Variablen]].}} {{Hilfe}} Eine '''Vorlage''' ist eine Seite, die nach dem [[Transklusion]]spr…“
{{Weiterleitungshinweis|H:V|Möglicherweise wolltest du zu [[Hilfe:Variablen]].}}
{{Hilfe}}
Eine '''Vorlage''' ist eine Seite, die nach dem [[Transklusion]]sprinzip die Einbindung häufig verwendeter Elemente in andere Seiten erleichtert. Vorlagen gehören zu den [[Hilfe:Bausteine|Bausteinen]]. Im einfachsten Fall sind es [[Wikipedia:Textbausteine|vorformulierte Textbausteine]], die auf einer anderen Seite eingefügt werden können. Prinzipiell können Seiten sämtlicher Namensräume wie eine Vorlage verwendet [[Hilfe:Seiten einbinden|(transkludiert)]] werden. Die Verwendung des '''Vorlagen-Namensraums''' ist jedoch bei Vorlagen, die in Artikeln verwendet werden sollen, generell zu bevorzugen.

Häufig enthalten Vorlagen auch die Möglichkeit, veränderliche Daten einzufügen, binden grafische Elemente ein und verwenden mehr oder weniger komplexe Programmierungen. Auf diese Art werden beispielsweise die Einbindung von [[Hilfe:Personendaten|Personendaten]], [[Hilfe:Infoboxen|Infoboxen]], die [[Wikipedia:WikiProjekt Georeferenzierung|Georeferenzierung]] und [[Hilfe:Navigationsleisten|Navigationsleisten]] realisiert.

== {{Anker|Allgemeines}} Vorlagen verwenden ==
[[Datei:Transclusion simple.svg|mini|Einbindung]]
[[Datei:Curly Brackets.svg|rahmenlos|rechts|hochkant=0.5|Geschweifte Klammern]]
Um eine einfache Vorlage in einem Artikel zu verwenden, gibt es drei Möglichkeiten:

# Im Hauptanwendungsfall fügst du eine Vorlage mit '''<code><nowiki>{{Titel}}</nowiki></code>''' ein. Beim Anzeigen der Seite ersetzt die [[Hilfe:MediaWiki|MediaWiki-Software]] dies dann durch den Inhalt der Vorlage „Titel“. Ändert jemand die Vorlage, ändert sich dadurch auch die Darstellung.
# {{Anker|subst}} <code><nowiki>{{subst:Titel}}</nowiki></code> (für [[Substitution (Logik)|'''Subst'''itution]]) oder auch <code><nowiki>{{ers:Titel}}</nowiki></code> (für '''Ers'''etzen) fügt ebenfalls den Inhalt der Vorlage ein, ersetzt den ''Titel'' der Vorlage jedoch auch in der Bearbeitungsumgebung (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 [[Wikipedia:Begrüßung|begrüßt]], die anschließend auf ihrer Seite auch beim Bearbeiten den Text der Begrüßung vorfinden sollen und kein verwirrendes {{Vorlage|Hallo}}. Andere Vorlagen sind so konstruiert, dass man sie mit <code><nowiki>{{subst:Titel}}</nowiki></code> einbindet, z.&nbsp;B. die Vorlage [[Vorlage:Löschantrag|Löschantrag]]. Mehr zu <code><nowiki>{{subst}}</nowiki></code> unter [[Hilfe:Vorlagenprogrammierung#Substitution mit subst und safesubst|Vorlagenprogrammierung]].
# <code><nowiki>{{msgnw:Titel}}</nowiki></code> zeigt im Artikel den Quellcode der Vorlage an. Diese Funktion wird selten –&nbsp;eigentlich nur zur Erklärung von Vorlagen&nbsp;– gebraucht.

Seiten, die nicht im [[Hilfe:Namensräume|Namensraum]] Vorlage stehen, lassen sich dennoch als Vorlage verwenden, wenn man den Namensraum mit angibt. Zum Beispiel würde <nowiki>{{Wikipedia:Fragen zur Wikipedia}}</nowiki> die Seite [[Wikipedia:Fragen zur Wikipedia]] als Vorlage einbinden. Will man eine Seite aus dem Artikelnamensraum einbinden, muss man allerdings noch einen Doppelpunkt vor den Namen setzen: So würde <nowiki>{{:Test}}</nowiki> beispielsweise den Artikel [[Test]] wie eine Vorlage einbinden.

== Vorlagen erstellen ==

Vorlagen werden wie jede andere Seite erstellt und bearbeitet: Wähle einen geeigneten Namen, gehe auf diese Seite und klicke auf den Erstellen-Tab oder den Bearbeiten-Tab. Wie bereits erwähnt, werden Vorlagen standardmäßig im Vorlagen-Namensraum erstellt bzw. nach Tests dorthin verschoben. Vorlagen können zur Eigenverwendung eines Autors oder zu Testzwecken auch im [[Hilfe:Benutzernamensraum|Benutzernamensraum]] als Unterseite erstellt werden, diese sollen dann allerdings nicht im Artikelnamensraum verwendet werden. Alle Funktionalitäten, die andere Seiten enthalten können, können auch Vorlagen beinhalten. Grundsätzlich sind enzyklopädische Inhalte und Aussagen in den Artikeln darzustellen, davon ausgenommen sind Metadaten, um die Wartung selbiger für Nutzer zu vereinfachen. Damit ist explizit auch die Auslagerung häufig eingebundener Funktionen in Untervorlagen bzw. weitere Vorlagen gemeint. Vorlagen nutzen [[Hilfe:Vorlagenprogrammierung|programmierbare Eigenschaften]] wie Parameter, Parserfunktionen und andere [[Hilfe:Variablen|Variablen]], was den eingebundenen Inhalt von Vorlagen stark variieren lässt. Es existieren ebenso Tags, die ein bedingtes Einbinden von Inhalt einer Vorlage steuern können.

Vor dem Erstellen einer Vorlage suche nach bereits bestehenden Vorlagen (etwa durch Nachschauen in [[:Kategorie:Vorlage:]]), um Dopplungen zu vermeiden. Existiert bereits eine ähnliche Vorlage, so steht es dir frei, diese um das gewünschte zu erweitern. Zeitweise sind auch parallele Verwendungen zweier ähnlicher Vorlagen möglich, sofern gleiche bzw. ähnliche Vorlagen entweder zusammengeführt werden oder diese verändert werden, um sich stärker voneinander abzugrenzen. Schau auch nach ähnlichen Vorlagen bzw. Vorlagen für Vorlagen ([[:Kategorie:Vorlage:für Vorlagen]]), deren Inhalt du ggf. kopieren und anpassen kannst.

Es existieren keine genauen Regeln für die Auswahl eines Vorlagennamens, er sollte jedoch für alle anderen Autoren ausreichend beschreibend sein; dann so kurz wie möglich. Abkürzungen mit weniger als vier Buchstaben sollten ausgesuchten Anwendungen vorbehalten sein. Existieren bereits ähnliche Vorlagen, dann nutze eine konsistente Benennung. Vorlagen können umbenannt (bzw. verschoben) werden, ohne dass bestehende Einbindungen verloren gehen, solange die entstehende [[#Vorlagen weiterleiten|Weiterleitung]] bestehen bleibt oder die Einbindung korrigiert wird. Für Infoboxen, Positionskarten, Navigationsleisten und viele andere mehr existiert eine Standardform, bei der der Vorlagentyp wie ein Präfix vorangestellt wird; anschließend folgt mit Großschreibung und wo angebracht nach der [[Wikipedia:Singularregel|Singularregel]] die Bezeichnung, die auch als Überschrift dienen könnte.

Wenn eine Vorlage ausschließlich einer einzelnen Seite oder einer kleinen und begrenzten Gruppe von Seiten außerhalb des Artikel-[[Hilfe:Namensräume|Namensraums]] dienen soll, etwa einem [[Wikipedia:Portale|Portal]], dann sollen keine Vorlagen im Vorlagen-Namensraum angelegt werden, sondern [[Hilfe:Unterseiten|Unterseiten]] in diesem Kontext. Sie können genau wie Vorlagen [[Hilfe:Seiten einbinden|eingebunden]] werden.

Vorlagen, die ausschließlich dazu bestimmt sind, einer einzigen Vorlage oder einer eng begrenzten Gruppe verwandter Vorlagen zuzuarbeiten und in der Regel nicht von außerhalb benutzt werden sollen, werden nur als [[Hilfe:Unterseiten|Unterseite]] der zentralen Vorlage angelegt. Aus technischen Gründen kommt das häufiger vor; dann wird oft der Name ''/core'' für die Kernfunktionalität benutzt.

Sei vorsichtig, wenn du bestehende Vorlagen bearbeitest, diese können teils sehr komplex, häufig eingebunden oder auch beides zugleich sein. Daher sind viele Vorlagen ab einer gewissen Zahl an Einbindungen auf Anfrage gesperrt. Ebenso können Vorlagen wie alle anderen Seiten zum Löschen vorgeschlagen werden.

=== {{Anker|Zweck}} Einsatzmöglichkeiten ===
Vorlagen sind nur dann sinnvoll, wenn es von ihnen nur eine überschaubare Anzahl gibt, die sich Benutzer auch merken können. Insbesondere sollten Vorlagen nicht doppelt oder sehr ähnlich entstehen. Um dies zu verhindern, sollten Vorlagen von allgemeiner Relevanz gefördert werden, indem sie in eine spezielle Liste in alphabetischer Reihenfolge eingetragen werden: [[Wikipedia:Textbausteine]] und/oder [[Wikipedia:Bewertungsbausteine]] bzw. [[Wikipedia:Textvorlagen]].

Vorlagen dienen in Wikipedia zur:
* '''Konsistenzmaximierung:''' Mit Vorlagen lässt sich ein einheitliches Erscheinungsbild erreichen. Bekannte Beispiele sind etwa die [[Vorlage:Begriffsklärung]] oder [[Vorlage:Commons]].
* '''Redundanzminimierung:''' Wenn der Inhalt zentral nur an einer Stelle festgelegt wird (d.&nbsp;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. Bekannte Beispiele sind hier [[Hilfe:Datenbanklinks|Datenbanklinks]] und die so genannten [[Hilfe:Navigationsleisten|Navigationsbausteine]]. Dazu gehört auch die Auslagerung von [[Wikipedia:WikiProjekt Metadaten|Metadaten]], die so zentral aktualisiert werden.
* '''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 [[Hilfe:Kategorien|Kategorien]] für andere Wikiautoren oder Administratoren eingetragen.
* '''Codeoptimierung:''' Manche schöne Darstellung lässt sich nur mit einem unschönen Mix aus Wiki-, HTML- bzw. CSS-Befehlen erreichen. Der Artikelquellcode wird dann schnell unübersichtlich und verschreckt Wikianfänger, sich an der weiteren Verbesserung eines Artikels zu beteiligen. Hier kann eine Vorlage helfen, den Artikelquellcode lesbarer zu gestalten. Ein bekanntes Beispiel ist [[Vorlage:Gesprochene Version]].
* '''Auswertung''': Neben der einheitlichen Präsentation lassen sich die der Vorlage übergebenen Daten (Parameter) auch [[Wikipedia:WikiProjekt Vorlagenauswertung|automatisiert auswerten]]. Insbesondere [[Wikipedia:GEO|Geodaten]] lassen sich vielfältig [[Wikipedia:WikiProjekt Georeferenzierung/Hauptseite/Wikipedia-World|weiternutzen]].

=== Keine Themenringe ===
Wie unter [[Wikipedia:Themenring]] nachzulesen, sollen in der deutschsprachigen Wikipedia keine Themenringe erstellt werden. Zulässig sind ausschließlich [[Hilfe:Navigationsleisten|Navigationsleisten]] oder andere Zusammenstellungen wie auch [[:Kategorie:Vorlage:Linkbox|Linkboxen]], die eine vollständige Aufzählung gleichrangiger Elemente enthalten (z.&nbsp;B. [[Vorlage:Navigationsleiste Deutsche Länder]], Lokomotiven der Baureihe&nbsp;XY).

=== Unerwünschte Verwendungen ===
Vorlagen 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 die Wikipedia belastet, ohne zum eigentlichen Zweck derselben beizutragen. Daher sind Signaturvorlagen nicht erwünscht. Man sollte lieber zu seinen alten Signaturen stehen.
# '''Ersetzung von Zeichenketten:''' Die Ersetzung von regelmäßig vorkommenden Zeichenketten durch Vorlagen mag praktisch sein (beispielsweise <code><nowiki>{{BND}}</nowiki></code> statt <code><nowiki>[[Bundesnachrichtendienst]] der Bundesrepublik Deutschland</nowiki></code>), sind jedoch unerwünscht. Solche Vorlagen haben im normalen Wikitext nichts zu suchen und sind deshalb auch nicht anzulegen.

== {{Anker|include}} Bedingtes Einbinden von Quelltextblöcken ==

Folgende Tags sollten nur innerhalb von Seiten verwendet werden, die auch wie eine Vorlage [[Hilfe:Seiten einbinden|eingebunden]] werden:

; <code>&lt;onlyinclude&gt;</code>
: Wenn die Vorlage direkt betrachtet wird, haben <code>&lt;onlyinclude&gt;</code> und <code>&lt;/onlyinclude&gt;</code> keine Wirkung auf alles, was dazwischen steht. Wenn die Vorlage jedoch auf einer anderen Seite eingebunden ist, wird ''ausschließlich'' angezeigt, was zwischen <code>&lt;onlyinclude&gt;</code> und <code>&lt;/onlyinclude&gt;</code> steht. Außerhalb dieses mit <code>&lt;onlyinclude&gt;</code> festgelegten Bereichs können [[#Vorlagen dokumentieren|Dokumentation]], [[Hilfe:Kategorien|Kategorie]] und [[Hilfe:Interwiki-Links|Interwiki-Links]] in Vorlagen eingefügt werden, ohne dass diese in den Artikeln auftauchen. Es können auch mehrere '''nicht-verschachtelte''' <code>&lt;onlyinclude&gt;</code>-Blöcke in einer Vorlage stehen.
: Üblich ist das auch bei Artikeln; etwa bei Personennamen-(BKS) in den zugehörigen Familiennamen: Der zentrale Inhalt von Artikel ''[[Hans Meier]]'' soll in den Zielartikel eingebunden werden, hier ''[[Meier (Familienname)]]''.
; <code>&lt;includeonly&gt;</code>
: Alles, was in einer Vorlage zwischen <code>&lt;includeonly&gt;</code> und <code>&lt;/includeonly&gt;</code> steht, wird nur dann angezeigt, wenn die Vorlage auf einer anderen Seite eingebunden wird. Mit <code>&lt;includeonly&gt;</code> lassen sich zum Beispiel alle Seiten, die eine bestimmte Vorlage enthalten, automatisch einer Kategorie hinzufügen. <code>&lt;includeonly&gt;</code> kann auch in <code>&lt;onlyinclude&gt;</code>-Blöcken stehen.
; <code>&lt;noinclude&gt;</code>
: Alles, was in einer Vorlage zwischen <code>&lt;noinclude&gt;</code> und <code>&lt;/noinclude&gt;</code> steht, wird dagegen nur dann angezeigt, wenn die Vorlage selbst betrachtet wird. Die Nutzung im Vorlagencode birgt die Gefahr, dass bei Einbindung der Vorlage unbemerkt und ungewollt unerwünschte Leerzeichen oder gar Zeilenumbrüche entstehen, daher sollte bevorzugt <code>&lt;onlyinclude&gt;</code> zum Abgrenzen des eigentlichen Vorlagentextes von der Dokumentation, den Kategorien und Interwikilinks verwendet werden. <code>&lt;noinclude&gt;</code> kann auch in <code>&lt;onlyinclude&gt;</code>-Blöcken stehen.

{| class="wikitable"
! Tag-Kombination
! Auf der Vorlagenseite sichtbar?
! Einbindung?
! Anmerkung
|-
| keine || class="hintergrundfarbe9"|Ja || class="hintergrundfarbe9"|Ja || Nur, wenn kein onlyinclude in der Vorlage ist.
|-
| &lt;includeonly>…&lt;/includeonly> || class="hintergrundfarbe7"|Nein || class="hintergrundfarbe9"|Ja || Nur, wenn kein onlyinclude in der Vorlage ist.
|-
| &lt;noinclude>…&lt;/noinclude> || class="hintergrundfarbe9"|Ja || class="hintergrundfarbe7"|Nein || Auch innerhalb von onlyinclude möglich.
|-
| &lt;onlyinclude>…&lt;/onlyinclude> || class="hintergrundfarbe9"|Ja || class="hintergrundfarbe9"|Ja || Text außerhalb wird nicht eingebunden.
|-
| &lt;onlyinclude>&lt;includeonly>…<br />&lt;/includeonly>&lt;/onlyinclude> || class="hintergrundfarbe7"|Nein || class="hintergrundfarbe9"|Ja || Text außerhalb wird nicht eingebunden.
|- style="border-bottom:hidden"
| &lt;onlyinclude>Text 1&lt;/onlyinclude>… || class="hintergrundfarbe9"|Text&nbsp;1:&nbsp;Ja || class="hintergrundfarbe9"|Text&nbsp;1:&nbsp;Ja || rowspan="2"| Text 2 ist '''keine''' sinnvolle Kombination.
|-
| &lt;includeonly>Text 2&lt;/includeonly> || class="hintergrundfarbe7"|Text&nbsp;2:&nbsp;Nein || class="hintergrundfarbe7"|Text&nbsp;2:&nbsp;Nein
|}

=== Beispiel ===
Der folgende Vorlagen-Quelltext:
Dokumentierender Text …

<span style="font-weight:bold; color:#903">&lt;onlyinclude&gt;</span><span style="background-color:#dcc"><nowiki>{| class="wikitable float-right"
| [[Datei:{{{1</nowiki><span style="font-weight:bold; color:#390">&lt;noinclude&gt;</span><span style="background-color:#cdc">|Bilderwunsch.svg</span><span style="font-weight:bold; color:#390">&lt;/noinclude&gt;</span><nowiki>}}}|mini|{{{3}}}]]
| {{{2}}} | {{{3}}}
|}
</nowiki><span style="font-weight:bold; color:#00c">&lt;includeonly&gt;</span><span style="background-color:#ccd"><nowiki>[[Kategorie:!Hauptkategorie]]</nowiki></span><span style="font-weight:bold; color:#00c">&lt;/includeonly&gt;</span></span><span style="font-weight:bold; color:#903">&lt;/onlyinclude&gt;</span><nowiki>

[[Kategorie:Vorlage:Linkbox]]</nowiki>
* erzeugt beim Betrachten der Vorlagenseite (Vorlagennamensraum) folgende Ansicht:
<div class="rahmenfarbe1" style="border-style:solid; padding:1ex; margin:1ex;">
Dokumentierender Text …

{| class="wikitable float-right"
| [[Datei:Bilderwunsch.svg|mini|<nowiki>{{{3}}}</nowiki>]]
| <nowiki>{{{2}}}</nowiki> | <nowiki>{{{3}}}</nowiki>
|}
<div style="clear:both;"></div>
[[:Kategorie:Vorlage:Linkbox]]
</div>
* erzeugt bei der Einbindung in Wikipedia (Artikelnamensraum) mittels <code><nowiki>{{Vorlagenname|Bilderwunsch.svg|class="hintergrundfarbe5"|← Beispiel}}</nowiki></code> folgende Ansicht:
<div class="rahmenfarbe1" style="border-style:solid; padding:1ex; margin:1ex;">
{| class="wikitable float-right"
| [[Datei:Bilderwunsch.svg|mini|← Beispiel]]
| class="hintergrundfarbe5" | ← Beispiel
|}
<div style="clear:both;"></div>
[[:Kategorie:!Hauptkategorie]]
</div>

== {{Anker|Parameter}} Parameter einfügen und verwenden ==

Oft sollen in einer Vorlage Inhalte auftauchen, die sich jedoch von Seite zu Seite ändern, zum Beispiel eine Unterschrift oder der individuelle Name des Bildes auf den Commons in der [[Vorlage:NowCommons]]. Das erreicht man mit Parametern.

Im Quelltext einer Vorlage kennzeichnet man durch drei geschweifte Klammern Stellen als Platzhalter; diese können entweder durchnummeriert oder durch frei gewählte Namen bezeichnet werden. Ein Platzhalter kann auch als Wikilink fungieren, wenn er seinerseits mit zwei eckigen Klammern umgeben ist, wie zum Beispiel in <code><nowiki>[[{{{1}}}]]</nowiki></code>. Eine solche Vorlage mit Parametern verwendet man, indem man nach dem Namen der Vorlage, getrennt mit jeweils einem senkrechten Strich von diesem und voneinander, die aktuell gewünschten Werte angibt.

Parameter sind entweder nummeriert oder benannt, auch eine Mischung aus nummerierten und benannten Parametern ist möglich.

Eine Vorlage mit '''nummerierten Parametern''' sieht so aus:
<nowiki>Nach Angaben von Wikipedianer {{{1}}} ist diese Seite kopiert von {{{2}}}</nowiki>

Würde man sie auf der Seite <nowiki>[[Vorlage:Titel1]]</nowiki> abspeichern, könnte man sie so benutzen:
<nowiki>{{Titel1|wikiwichtel|http://www.irgendwo.de/}}</nowiki>

Das Ergebnis wäre der Text
Nach Angaben von Wikipedianer wikiwichtel ist diese Seite kopiert von http://www.irgendwo.de/

Dieselbe Vorlage sieht mit '''benannten Parametern''' so aus:

<nowiki>Nach Angaben von Wikipedianer {{{wikipedianer}}} ist diese Seite kopiert von {{{quelle}}}</nowiki>

Bei der Benutzung der Vorlage muss man nun die Namen auch angeben:
<nowiki>{{Titel 2|wikipedianer=wikiwichtel|quelle=http://www.irgendwo.de/}}</nowiki>

Die Ausgabe wäre identisch, wie oben.

Für nummerierte Parameter gibt es noch die Besonderheit, die Nummer als Namen zu benutzen. Dies ist hilfreich, wenn man nicht alle nummerierten Parameter davor angeben möchte bzw. Gleichzeichen in den Parametern enthalten sind. Ansonsten sollte darauf aus Gründen der Übersichtlichkeit verzichtet werden.
<nowiki>{{Titel1|2=http://www.irgendwo.de/}}</nowiki>

<nowiki>Nach Angaben von Wikipedianer {{{1}}} ist diese Seite kopiert von http://www.irgendwo.de/</nowiki>

Wenn für einen Parameter kein Wert übergeben wird, so erscheint er mit seinem Namen.

Wird ein Parameter nachträglich in eine bestehende Vorlagenprogrammierung 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 [[Hilfe:Variablen|vordefinierte Variablen]], die als Parameterwerte nützlich sind, zum Beispiel der Titel der aktuellen Seite (<code><nowiki>{{PAGENAME}}</nowiki></code>).

''Achtung:'' Parameter im [[Hilfe:MediaWiki-Namensraum|MediaWiki-Namensraum]] werden anders verwendet ($1, $2 …).

=== {{Anker|Vorgaben}} Vorgabe-Parameterwert definieren ===
Man kann einen Parameter so definieren, dass für ihn bei Gebrauch der Vorlage kein Wert angegeben werden muss. Ohne diese Angabe wird dann ein in der Vorlage vorgegebener Wert eingefügt. Bei einem Konstrukt wie <code><nowiki>{{{Titel|Vorgabe}}}</nowiki></code> wird, wenn angegeben, der Wert des Parameters ''Titel'' ausgegeben, ansonsten der Vorgabewert, der beispielsweise auch die [[Hilfe:Variablen|Parserfunktion]] <code><nowiki>{{PAGENAME}}</nowiki></code> sein könnte.

'''Wichtig:'''

Wenn der Parameter angegeben ist, aber sein Wert leer bleibt,
<pre>
{{Vorlagenname|Titel=}}
</pre>
dann wird für <code><nowiki>{{{Titel|Vorgabe}}}</nowiki></code> der übergebene leere Text ausgegeben!
Nur ohne Parameter wird der Vorgabewert verwendet:
<pre>
{{Vorlagenname}}
</pre>
Ein gesondertes Verhalten bei leerem Wert ist niemals wünschenswert; alle Altlasten wurden eliminiert. Wird eine Vorlageneinbindung [[Hilfe:Vorlagen/VisualEditor|mittels VisualEditor bearbeitet]], dann haben die Anwender keine Kontrolle über den entstehenden Quelltext; insbesondere wenn Parameter als „empfohlen“ deklariert wurden.

Soll der Vorgabewert also auch bei
<pre>
{{Vorlagenname|Titel=}}
</pre>
verwendet werden, so muss in der Vorlage stattdessen
<pre>
{{#if:{{{Titel|}}}|{{{Titel}}}|Vorgabe}}
</pre>
oder
<pre>
{{#switch:{{{Titel|}}}|=Vorgabe|{{{Titel}}}}}
</pre>
stehen.

=== Textformatierung ===
Sinn und Zweck von Vorlagen ist vor allem auch die artikelübergreifende einheitliche Darstellung von bestimmten Elementen und Texten. Insbesondere die Textformatierung sollte also soweit möglich über die Vorlage erfolgen. So sollte beispielsweise Kursivsetzung, Fettschrift oder Schriftgröße über die Programmierung der Vorlage geändert werden.

Entsprechend ist bei der Vorlageneinbindung bei der Eingabe von Parametern, die auch als Ausgabetext verwendet werden, auf Formatierungen zu verzichten, da damit die festgelegte Formatierung unterlaufen wird und eine uneinheitliche Darstellung entsteht. Dies gilt auch, wenn eine Formatierung nicht mit den aktuellen Vorgaben kollidiert. Vorlagen können auch dazu genutzt werden, eine nachträgliche Änderung über alle Vorkommen in den Artikeln zu bewirken. Individuelle Formatierungen können also auch nachträglich zu einem Problem werden.

Es kann Gründe geben, warum auch Parametertexte eine Formatierung vorsehen können, zum Beispiel wenn die Parameterbestandteile unterschiedlich dargestellt werden sollen und eine Programmierung zu aufwendig wäre. Dann sollte dies aber einheitlich erfolgen und entsprechend dokumentiert sein. Grundsätzlich ist diese Vorgehensweise aber zu vermeiden, weil sie oft nur mit viel Aufwand zu überprüfen ist und sich die Programmierer bei Vorlagenänderung auf die regelgemäße Verwendung verlassen.

== {{Anker|Probleme}} Probleme bei der Benutzung von Vorlagen ==

=== {{Anker|ProblemAufz}} Problem: Aufzählungszeichen ===
* Will man Aufzählungszeichen (<code>*</code> oder <code>#</code>), wie am Anfang dieser Zeile eines steht, als Parameterwert benutzen, so sollte in der Vorlage vor dem Parameter eine neue Zeile begonnen werden, wie dies z.&nbsp;B. in der [[Vorlage:Infobox Film]] beim Parameter <nowiki>{{{Besetzung}}}</nowiki> für Darsteller der Fall ist.

=== {{Anker|ProblemGleichh}} Problem: Gleichheitszeichen in Parameterwerten ===
Wird einer Vorlage als Wert eines ''unbenannten'' („nummerierten“) Parameters
ein Text übergeben, 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 [[Uniform Resource Locator|URL]] übergeben will, in der ein Gleichheitszeichen enthalten ist (z.&nbsp;B.:&nbsp;<nowiki>https://de.wikipedia.org/w/index.php?title=Hilfe:Vorlagen&action=edit&section=3</nowiki>), oder auch einen Text mit enthaltenen HTML-Attributzuweisungen, wie etwa <code>style=</code> in einer Dekoration.

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

{|
|Statt:
|<code><nowiki>{{Vorlagenname|http://…/index.php?title=…&action=edit&section=3}}</nowiki></code>
|-
|Richtig:
|<code><nowiki>{{Vorlagenname|</nowiki><span style="color:#0000ff;">'''1='''</span><nowiki>http://…/index.php?title=…&action=edit&section=3}}</nowiki></code>
|}

{|
|Statt:
|<code><nowiki>{{Vorlagenname|erster Wert|xx<span style="font-style:italic;">kursiv</span>zz}}</nowiki></code>
|-
|Richtig:
|<code><nowiki>{{Vorlagenname|erster Wert|</nowiki><span style="color:#0000ff;">'''2='''</span><nowiki>xx<span style="font-style:italic;">kursiv</span>zz}}</nowiki></code>
|}

Danach folgende unbenannte Parameter müssen ebenfalls nummeriert werden, da die automatische Zählung die explizite Nummerierung nicht berücksichtigt, d.&nbsp;h. bei <code><nowiki>{{Vorlagenname|erster Wert|2=zweiter Wert|dritter Wert}}</nowiki></code> würde <code>zweiter Wert</code> durch <code>dritter Wert</code> ersetzt werden.

Im normalen Fließtext, in dem das Gleichheitszeichen keine syntaktische Bedeutung hat, kann das Gleichheitszeichen durch '''&amp;#61;''' maskiert werden.

=== {{Anker|ProblemSonderz}} Problem: Sonderzeichen in Parameterwerten ===
Wenn Sonderzeichen der Wikisyntax und vor allem der Vorlagensyntax in Parameterwerten benutzt werden müssen, können Probleme auftreten.

{{Anker|Entities}}
Soll das Zeichen einfach nur im dargestellten Text oder in einer [[Uniform Resource Locator|URL]] erscheinen, ist ein Ersatz durch eine [[Entitäten in Auszeichnungssprachen#Zeichen-Entitäten|HTML-Entität]] die einfachste Möglichkeit. In URLs kann gegebenenfalls auch [[URL-Encoding]] verwendet werden.
{| class="wikitable"
! class="hintergrundfarbe8"| Zeichen
| <code>&#123;</code>
| <code>&#124;</code>
| <code>&#125;</code>
| <code>&#61;</code>
| <code>&#91;</code>
| <code>&#93;</code>
| <code>&#42;</code>
| <code>&#35;</code>
| <code>&#58;</code>
| <code>&#59;</code>
| Leerzeichen
| <code>&lt;</code>
| <code>&gt;</code>
|-
! class="hintergrundfarbe8"| Entity
| <code>&amp;#123;</code>
| <code>&amp;#124;</code>
| <code>&amp;#125;</code>
| <code>&amp;#61;</code>
| <code>&amp;#91;</code>
| <code>&amp;#93;</code>
| <code>&amp;#42;</code>
| <code>&amp;#35;</code>
| <code>&amp;#58;</code>
| <code>&amp;#59;</code>
| <code>&amp;#32;</code>
| <code>&amp;lt;</code>
| <code>&amp;gt;</code>
|}

Leerzeichen zu Beginn und am Ende von Werten benannter Parameter werden „geschluckt“; <code>*</code>&nbsp;und <code>#</code> am Beginn eines Parameterwertes werden als Wikisyntax für Aufzählungszeichen interpretiert, wenn innerhalb der Vorlage der Zeilenumbruch vorgesehen ist. Sind mehrere Zeichen vorhanden, ist es eine lesbarere Variante, den Text in <code>&lt;nowiki></code>…<code>&lt;/nowiki></code> einzufassen, wenn nichts darin als Wikisyntax interpretiert werden soll.

==== {{Anker|Problem: Senkrechter Strich in Parameterwerten}} Senkrechter Strich ====
Ob ein [[senkrechter Strich]] <code>|</code> („Pipe“) vom Parser als Wikisyntax interpretiert wird, hängt von der Art der Verwendung ab (siehe Tabelle). Innerhalb einer geschlossenen Einheit wie eines betitelten Wikilinks wird er nicht nach außen wirksam; gleichfalls nicht innerhalb einer geschlossenen inneren Vorlageneinbindung. Mitunter ist es also erforderlich, Teilstücke eines Wikisyntax-Konstruktes wie Wikilinks oder Tabellen als Parameterwert zu übergeben, aus denen schließlich das vollständige Element zusammengesetzt werden soll. In diesem Fall empfehlen sich die nachstehend beschriebenen Vorlagen, die die Sonderzeichen einfügen und noch die spätere Interpretation als Wikisyntax zulassen. Sie sollen ausschließlich in Parameterwerten eingesetzt werden.
{| class="wikitable"
|+ Syntaxwirkung des senkrechten Strichs
! &nbsp;!! &#x7C; !! <code><nowiki>{{!}}</nowiki></code> !! &amp;#124;
|-
| Trennung von Vorlagen&shy;parametern || Ja || Nein || Nein
|-
| Trennung von Parametern bei Wikilinks || Ja || Ja || Nein
|-
| Tabellen&shy;syntax || Ja || Ja || Nein
|}

===== Tabellenelemente =====
Da das Zeichen <code>|</code> zur Trennung von Parametern dient, darf es nicht selbst in Parameterwerten vorkommen. Um dennoch eine funktionstüchtige Tabelle zu erhalten, ist die [[Hilfe:Variablen|Parserfunktion]] <code><nowiki>{{!}}</nowiki></code> zu verwenden.
{| class="wikitable"
| class="hintergrundfarbe8" | '''benötigter Code'''
| <code>&#124;</code>
| <code>&#124;-</code>
| <code>&#124;+</code>
| <code>&#124;&#124;</code>
| <code>{&#124;</code>
| <code>&#124;}</code>
| <code>&#124;-</code><br /><code>&#124;</code>
|-
| class="hintergrundfarbe8" | '''Quelltext mit Variable !'''
| <code><nowiki>{{!}}</nowiki></code>
| <code><nowiki>{{!}}-</nowiki></code>
| <code><nowiki>{{!}}+</nowiki></code>
| <code><nowiki>{{!}}{{!}}</nowiki></code>
| <code><nowiki>{{{!}}</nowiki></code>
| <code><nowiki>{{!}}}</nowiki></code>
| <code><nowiki>{{!}}-</nowiki></code><br /><code><nowiki>{{!}}</nowiki></code>
|}
Größere Tabellenteile können auch auf eine Unterseite der Vorlage ausgelagert und von dort eingebunden werden. Ist auch das nicht praktikabel, kann notfalls auf HTML (<code>&lt;td></code> usw.) zurückgegriffen werden.

===== Wikilink =====
Vollständige Wikilinks als Parameterwerte sind wie üblich anzugeben, also ohne besondere Maßnahmen, wenn nach einem senkrechten Strich ein Link-Titel folgt. Ist es dagegen nur ein Teil eines Wikilinks oder einer Datei-Einbindung, das erst noch zusammengebaut werden soll, so ist <code><nowiki>{{!}}</nowiki></code> statt <code>|</code> zu benutzen:<br />
Nicht <code><nowiki>{{Linkvorlage|Inhalt=Lemma|Linktext}}</nowiki></code>, sondern <code><nowiki>{{Linkvorlage|Inhalt=Lemma{{!}}Linktext}}</nowiki></code>.

==== Eckige Klammern ====
Darstellung von einfachen eckigen Klammern als <code>&amp;#91;</code> für [ und <code>&amp;#93;</code> für ] oder Einfassung in <code>nowiki</code>-Tags oder Einschub von <code style="white-space:nowrap">&lt;noinclude /></code>.

==== Geschweifte Klammern ====
Darstellung von einfachen geschweiften Klammern als <code>&amp;#123;</code> für { und <code>&amp;#125;</code> für } oder Einfassung in <code>nowiki</code>-Tags oder Einschub von <code style="white-space:nowrap">&lt;noinclude /></code>.

=== {{Anker|ProblemLeerWert}} Problem: Zuweisung von leeren Parameterwerten ===
Vorlagensyntax verhält sich grundsätzlich unterschiedlich, wenn ein Parameter überhaupt nicht angegeben wird, oder wenn er angegeben ist, jedoch ein leerer Wert zugewiesen wird.

Viele vor allem modernere an allgemeine Autoren adressierten Vorlagen fangen dieses Verhalten jedoch durch eine [[#Vorgaben|gesonderte Programmierung]] ab und behandeln leere Parameterwerte und nicht angegebene Parameter gleich.

Die Zuweisung eines leeren Wertes entsteht bereits dadurch, dass zwei Pipe-Striche unmittelbar aufeinander folgen. Der entsprechende Parameter dazwischen erhält eine Wertzuweisung und gilt als angegeben.

=== {{Anker|ProblemWhite}} Problem: Leerzeichen um Parameterwerte ===
Bei ''unbenannten'' („nummerierten“) Parametern wird grundsätzlich berücksichtigt, wenn bei der Angabe des Wertes Leerzeichen´oder gar Zeilenumbrüche vor oder nach der Angabe des Wertes mitgegeben werden.

Das führt jedoch häufig zu unerwünschten Resultaten, etwa wenn eine [[Uniform Resource Locator|URL]] dann nicht mehr korrekt in einem Stück zusammengefügt wird.

Viele vor allem modernere an allgemeine Autoren adressierten Vorlagen fangen dieses Verhalten jedoch durch eine gesonderte Programmierung ab und reduzieren den Wert auf seinen Nutzinhalt, wenn es für diese Anwendung sinnvoll ist. Sehr viele ältere Vorlagen sind auf diese Situation jedoch nicht vorbereitet.

Es sollten deshalb bei unbenannten Parametern besser niemals zusätzliche Leerzeichen angegeben werden, falls die Programmierung nicht genau bekannt ist.

Bei benannten Parametern besteht das Problem nicht; diese werden immer „getrimmt“, also aus umgebenden Leerzeichen und Zeilenumbrüchen herausgezogen.

=== Problem: Generisches Maskulinum ===
Bei Berufsbezeichnungen muss nicht durchgehend das generische Maskulinum verwendet werden. Stattdessen können zwei Parameter für die männliche und weibliche Form angelegt und gemeinsam ausgewertet werden. Näheres siehe unter [[Hilfe:Infoboxen/Geschlecht]].

== Vorlagen dokumentieren ==
Siehe ausführlich: [[Hilfe:Vorlagendokumentation]]

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 außerhalb des ''include''-Bereichs 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]] außerhalb des ''include''-Bereichs 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 Unterseite ===
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 <code>/Doku</code> der Vorlagenseite beschrieben wird. Der Inhalt der Unterseite erscheint dann beim Betrachten der Vorlagenseite. Die [[Vorlage:Dokumentation]] wird durch <code>&lt;noinclude&gt;&#123;&#123;Dokumentation&#125;&#125;&lt;/noinclude&gt;</code> am Ende der Vorlage eingebunden. Zum weiteren Vorgehen siehe die [[Vorlage:Dokumentation|Dokumentation der Vorlage:Dokumentation]].

=== Kategorisierung ===

Jede Vorlage soll in eine entsprechende [[Wikipedia:Kategorien|Unterkategorie]] der [[:Kategorie:Vorlage:]] einsortiert werden. Achte bei der Einsortierung darauf, eine oder mehrere thematisch passende Kategorien zu finden. Eine Einsortierung von Vorlagen in Artikelkategorien ist nicht erlaubt. Eine Ausnahme sind [[:Kategorie:Kategorie:Versteckt|Wartungskategorien]], dort steht die Vorlage gelegentlich auch mit in der Kategorie. Bei einer Einsortierung ist zu beachten, dass dies innerhalb von <code>&lt;noinclude&gt;…&lt;/noinclude&gt;</code> geschieht, damit nur die Vorlage der Kategorie zugeordnet wird und nicht alle Seiten, in denen die Vorlage verwendet wird. Das [[Wikipedia:WikiProjekt Vorlagen|WikiProjekt Vorlagen]] hat eine [[Wikipedia:WikiProjekt Vorlagen/Projekt:Kategorisierung der Vorlagen|Systematik zur Kategorisierung aller Vorlagen]] erarbeitet. Des Weiteren kann bei Bedarf eine vom Namen abweichende [[Hilfe:Kategorien#Sortierausnahmen für einzelne Kategorien|Sortierung]] der Vorlage innerhalb der Kategorie angegeben werden (etwa bei einer Infobox oder Navigationsleiste), dafür muss hinter den Kategorienamen ein senkrechter Strich und dann die Sortierung eingetragen werden (<code>[[<nowiki />Kategorie:Vorlage:Unterkategorie|Sortierung]]</code>).

Bei der Verwendung der [[Vorlage:Dokumentation]] gehören alle Metadaten, also auch die Kategorien, auf diese eine Unterseite. Nur die Programmierung und die Einbindung {{Vorlage|Dokumentation}} verbleiben auf der einzubindenden Seite.

Vorlagen mit speziellen Eigenschaften werden in den passenden Zweig der [[:Kategorie:Vorlage:nach Eigenschaft]] eingeordnet. Beispiele wären [[:Kategorie:Vorlage:mit Kategorisierung|Vorlagen, die Artikel automatisch in eine Kategorie einsortieren]], oder [[:Kategorie:Vorlage:mit Koordinate|solche mit Koordinateneinbindung]].

== Vorlagen testen ==
Vorlagen können auf der Spezialseite „[[Spezial:Vorlagen expandieren|Vorlagen expandieren]]“ getestet werden, siehe auch [[Hilfe:Vorlagenprogrammierung #Testen]] und Änderungen an Vorlagen mit komplexen Abhängigkeiten unter [[Spezial:Vorlagenspielwiese]] (Beschreibung unter [[Hilfe:Vorlagenspielwiese]]).

== Vorlagen weiterleiten ==
Auch bei Vorlagen ist eine [[Wikipedia:Weiterleitung|Weiterleitung]] möglich und einer redundanten Kopie der Vorlage vorzuziehen. Dabei sind sowohl dem Namen der Weiterleitung als auch dem Weiterleitungsziel der [[Hilfe:Namensräume|Namensraum]] „Vorlage:“ voranzustellen.

Weil sie jedoch verwirren, eine separate Funktionalität vortäuschen und Autoren mehr unterschiedliche Namen von Vorlagen erlernen müssen, um den Quelltext zu verstehen, sollten nach Umbenennungen die Namensvarianten nach und nach auf den eigentlichen Namen umgestellt werden.

== Weitere Informationen ==
* [[Hilfe:Vorlagenprogrammierung]]
* [[Hilfe:Vorlagendokumentation]]
* [[Hilfe:Vorlagen/VisualEditor]] – Anwendung mithilfe [[Hilfe:VisualEditor|VisualEditor]]
* [[meta:Help:Template]] (englisch)
* [[:Kategorie:Vorlage:]] – Systematische Gliederung der Vorlagen
* [[Wikipedia:Textbausteine]] – Liste von Übersichtsseiten zu Vorlagen
* [[Hilfe:Datenbanklinks]]
* [[Wikipedia:Babel]]
* [[Wikipedia:WikiProjekt Vorlagen]]
* [[Wikipedia:WikiProjekt Vorlagen/Werkstatt]] – Fragen und Tipps zur Bearbeitung von Vorlagen
* [[Wikipedia:WikiProjekt Vorlagenauswertung]]
* [{{fullurl:Spezial:Alle Seiten|namespace=10}} Alle Seiten im Vorlagen-Namensraum]
* [[Wikipedia:Formatvorlage]]

{{Wikipedia-Namensräume}}
<noinclude>
[[Kategorie:Hilfe:Vorlagen|!]]
[[Kategorie:Hilfe:Namensräume]]
[[Kategorie:Wikipedia:Vorlagen| Hilfe]]
</noinclude>
751
Bearbeitungen