Mediawiki/Vorlage: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{WIP}}
+
Eine <b>Vorlage</b> ist eine Wikiseite, die in anderen Wikiseiten auf eine der folgenden Arten verwendet werden kann.
 
 
== Konzepte ==
 
 
 
* [[/Parameter|Parameter]]
 
 
 
== Erstellung ==
 
 
 
Eine Vorlage ist durch ein vorangestelltes "Vorlage:" (z. B. "[[Vorlage:Text]]") gekennzeichnet und kann wie jede andere Wikiseite erstellt werden.
 
 
 
== Verwendung ==
 
 
 
Vorlagen sind Wikiseiten, welche in anderen Wikiseiten auf folgende Arten verwendet werden können.
 
  
 
{| class=wiki
 
{| class=wiki
 
|-
 
|-
| <tt><nowiki>[[Template:Name]]</nowiki><br><nowiki>[[Vorlage:Name]]</nowiki></tt> || Erzeugt einen Hyperlink zur Vorlage "Name".
+
| <tt><nowiki>[[Template:Name]]</nowiki><br><nowiki>[[Vorlage:Name]]</nowiki></tt> || Erzeugt einen [[Hyperlink]] zur Vorlage "Name".
 
|-
 
|-
 
| <tt><nowiki>{{Name}}</nowiki></tt> || Der Inhalt der Vorlage "Name" wird erst zu dem Zeitpunkt in die aktuelle Seite eingefügt, wenn die aktuelle Seite aufgerufen wird. Im Bearbeitungsfenster ist stets nur "<nowiki>{{Name}}</nowiki>" zu sehen.
 
| <tt><nowiki>{{Name}}</nowiki></tt> || Der Inhalt der Vorlage "Name" wird erst zu dem Zeitpunkt in die aktuelle Seite eingefügt, wenn die aktuelle Seite aufgerufen wird. Im Bearbeitungsfenster ist stets nur "<nowiki>{{Name}}</nowiki>" zu sehen.
Zeile 27: Zeile 15:
  
 
Im Fall eines Namenskonflikts mit einer Variable (z. B. "Vorlage:Ns:3" und "Vorlage:PAGENAME") kann ":Vorlage:" verwendet werden, um deutlich zu machen, dass die Vorlage gemeint ist:
 
Im Fall eines Namenskonflikts mit einer Variable (z. B. "Vorlage:Ns:3" und "Vorlage:PAGENAME") kann ":Vorlage:" verwendet werden, um deutlich zu machen, dass die Vorlage gemeint ist:
 +
 
* <nowiki>{{Ns:3}}</nowiki> bzw. <nowiki>{{PAGENAME}}</nowiki> zeigen den User talk bzw. die Seite "Mediawiki/Vorlage" (also die aktuelle Seite)
 
* <nowiki>{{Ns:3}}</nowiki> bzw. <nowiki>{{PAGENAME}}</nowiki> zeigen den User talk bzw. die Seite "Mediawiki/Vorlage" (also die aktuelle Seite)
 
* <nowiki>{{:Vorlage:Ns:3}}</nowiki> bzw. <nowiki>{{:Vorlage:PAGENAME}}</nowiki> zeigen den Inhalt der Vorlage "Ns:3" bzw. "PAGENAME".
 
* <nowiki>{{:Vorlage:Ns:3}}</nowiki> bzw. <nowiki>{{:Vorlage:PAGENAME}}</nowiki> zeigen den Inhalt der Vorlage "Ns:3" bzw. "PAGENAME".
  
 
Eine Seite von ausserhalb des Namensraums "Vorlage:" kann in folgenden Fällen nützlich sein:
 
Eine Seite von ausserhalb des Namensraums "Vorlage:" kann in folgenden Fällen nützlich sein:
* Anzeige von Systemtexten im MediaWiki-Namensrtaum.
+
 
 +
* Anzeige von Systemtexten im MediaWiki-Namensraum.
 
* Vorlagen für den persönlichen Gebrauch in den Unterseiten von jemandes Benutzerseite, beispielsweise zu Testzwecken.
 
* Vorlagen für den persönlichen Gebrauch in den Unterseiten von jemandes Benutzerseite, beispielsweise zu Testzwecken.
 
* Einschluss von Seiten in anderen Seiten innerhalb desselben Namensraums, beispielsweise wird eine zusätzliche Seite (z. B. eine Arbeitsliste) mit jeder Seite durch eine einfache Namensübereinstimmung verbunden werden; sie kann mit <nowiki>{{{{NAMESPACE}}:{{PAGENAME}}/Arbeitsliste}}</nowiki> angelegt und eingeschlossen werden.
 
* Einschluss von Seiten in anderen Seiten innerhalb desselben Namensraums, beispielsweise wird eine zusätzliche Seite (z. B. eine Arbeitsliste) mit jeder Seite durch eine einfache Namensübereinstimmung verbunden werden; sie kann mit <nowiki>{{{{NAMESPACE}}:{{PAGENAME}}/Arbeitsliste}}</nowiki> angelegt und eingeschlossen werden.
  
 
Eine Vorlage kann auch eine andere Vorlage enthalten. Für das wiederholte Einfügen von Vorlagen siehe:
 
Eine Vorlage kann auch eine andere Vorlage enthalten. Für das wiederholte Einfügen von Vorlagen siehe:
 +
 
* [http://meta.wikimedia.org/wiki/Help:Template#Repetition_within_a_page Repetition within a page]
 
* [http://meta.wikimedia.org/wiki/Help:Template#Repetition_within_a_page Repetition within a page]
 
* [http://meta.wikimedia.org/wiki/Template:List_of_template_calls Template:List of template calls]
 
* [http://meta.wikimedia.org/wiki/Template:List_of_template_calls Template:List of template calls]
Zeile 45: Zeile 36:
 
Ein Wikitext mit aufeinanderfolgenden doppelten öffnenden und schliessenden geschweiften Klammern (z. B. "<nowiki>{{{{tc}}}}</nowiki>") wird als Vorlage interpretiert, welche einen durch dreifache geschweifte Klammern begrenzten Vorlagenparameter-Tag (also "<nowiki>{ {{{tc}}} }</nowiki>") enthält. Um das zu vermeiden, sollte mindestens in einem der Klammernpaare ein Leerschlag eingefügt werden, am besten aber "<nowiki>{{ {{tc}} }}"</nowiki>.
 
Ein Wikitext mit aufeinanderfolgenden doppelten öffnenden und schliessenden geschweiften Klammern (z. B. "<nowiki>{{{{tc}}}}</nowiki>") wird als Vorlage interpretiert, welche einen durch dreifache geschweifte Klammern begrenzten Vorlagenparameter-Tag (also "<nowiki>{ {{{tc}}} }</nowiki>") enthält. Um das zu vermeiden, sollte mindestens in einem der Klammernpaare ein Leerschlag eingefügt werden, am besten aber "<nowiki>{{ {{tc}} }}"</nowiki>.
  
Die Erweiterung "ExpandTemplates" erstellt die Seite "Special:ExpandTemplates", welche den Wikitext anzeigt, der durch den Aufruf einer Vorlage erzeugt wird. Dasselbe geschieht auch bei Verwendung eines URL der Art "http://mikiwiki.org/wiki/index.php?title=Mediawiki/Vorlage&action=raw&templates=expand".
+
Die Erweiterung "ExpandTemplates" erstellt die Seite "Special:ExpandTemplates", welche den Wikitext anzeigt, der durch den Aufruf einer Vorlage erzeugt wird. Dasselbe geschieht auch bei Verwendung eines URL der Art <nowiki>"http://mikiwiki.org/wiki/index.php?title=Mediawiki/Vorlage&action=raw&templates=expand"</nowiki>.
 
 
== Vorlagen-Tag-Layout ==
 
 
 
Um ein gewünschten Vorlagen-Tag-Layout zu erzeugen, insbesondere im Fall vieler Parameter, können zusätzliche Blindparameter mit einem [[Zeilenumbruch]], [[Leerzeichen]] und/oder Kommentaren verwendet werden. Im Fall unbenannter Parameter bedeutet das, dass dass einige Parameternummern im Vorlageninhalt nicht verwendet werden, sodass ihre im Vorlagen-Tag vorhandenen Werte das [[HTML-Rendering]] der Vorlage nicht beeinflussen.
 
 
 
Für ein Beispiel enthält die "Vorlage:t3d" folgendes:
 
 
 
<pre class=wiki>
 
{{{1}}} {{{2}}} {{{3}}}<br /> {{{5}}} {{{6}}} {{{7}}}<br /> {{{9}}} {{{10}}} {{{11}}}
 
</pre>
 
 
 
{| class=wiki
 
! width=15% | Syntax !! width=15% | Ergebnis !! Beschreibung
 
|-
 
| <tt><nowiki>{{t3d |a|b|c| 1
 
|d|e|f| 2
 
|g|h|i| 3
 
}}</nowiki></tt>
 
| a b c<br>d e f<br>g h i
 
|
 
|}
 
 
 
Sind Parameter benannt, so können Blindparameter jederzeit einfach eingesetzt werden. Sind sie unbenannt, so können zur Vermeidung einer Neunumerierung beannte Parameter eingefügt werden: Es genügt ein beliebiger Tect mit einem Gleichheitszeichen, sofern der Text auf der linken Seite nicht eine der Parameternummern ist: Dieser Text wird als Name des nicht verwendeten Parameters verwendet und demnach ignoriert.
 
 
 
Ein Beispiel dazu findet sich unter http://meta.wikimedia.org/wiki/Help:Template#Template_tag_lay-out
 
 
 
== Relativer Name für querverlinkte Seite ==
 
 
 
Eine Seite A kann eine Unterseite A/B unter Verwendung von "<nowiki>{{/B}}</nowiki>" querverlinken oder dieser Name kann aus "<nowiki>{{PAGENAME}}</nowiki>" konstruiert werden, wobei mehr Einfluss auf den Namen der querverlinkten Seite genommen werden kann.
 
 
 
Dies erlaubt Kopien desselben Wikitexts in verschiedenen Seiten um verschiedene Seiten querzuverlinken. So kann beispielsweise derselbe unter http://s23.org/wikistats/wikipedias_simplewiki.php gefundene Wixitext, der eine Liste von Aufrufen der Art "<nowiki>{{/lang|...}}</nowiki>" enthält, in mehreren Arten auf verschiedenen Seiten verwendet werden, bnesipielsweise für die Seite [http://meta.wikimedia.org/wiki/List_of_Wikipedias/lang/demo List of Wikipedias/lang/demo] und [http://meta.wikimedia.org/wiki/List_of_Wikipedias/local_names List of Wikipedias|local names], indem der Inhalt der Unterseite verändert wird. Eine querverlinkte Seite braucht nicht alle angegebenen Parameter zu verwenden. Zwei Seiten können dieselbe querverlinkte Seite über eine [[Weiterleitung]] nutzen.
 
 
 
== Vorlageseite ==
 
 
 
Mit Ausnahme der "<nowiki><noinclude></nowiki>"- und "<nowiki><includeonly></nowiki>"-Teile sind die folgenden Dinge identisch, es werden also die Vorgabewerte angezeigt:
 
 
 
* Das Rendering des Wikitexts der Vorlage (das geschieht auf der Vorlageseite und wäre für andere Seiten mit demselben Wikitext dasselbe, mit Ausnahme seitenabhängiger Variablen).
 
* Das Rendering der Vorlage auf einer Seite, die sie ohne Parameter aufruft.
 
 
 
Beispielsweise zeigt also die "Vorlage:T_1" mit dem Inhalt "<nowiki>abc{{{1|def}}}ghi{{{1|jkl}}}mno</nowiki>" dasselbe wie die Vorlage "<nowiki>{{t_1}}</nowiki>", nämlich "abcdefghijklmno".
 
 
 
=== Vorlagenseite ohne angegebene Vorgabewerte ===
 
 
 
In einfachen Fällen entspricht das der Behandlung der Parametertags als gewöhnlicher Text.
 
 
 
Für ein Beispiel enthält die "Vorlage:t2demo" folgendes:
 
 
 
<pre class=wiki>
 
anfang-{{{1}}}-mitte-{{{2}}}-ende<noinclude>[[Kategorie:Demovorlage]]</noinclude>
 
</pre>
 
 
 
{| class=wiki
 
! width=15% | Syntax !! width=15% | Ergebnis !! Beschreibung
 
|-
 
| <tt><nowiki>anfang-{{{1}}}-mitte-{{{2}}}-ende</nowiki></tt>
 
| <nowiki>anfang-{{{1}}}-mitte-{{{2}}}-ende</nowiki>
 
|
 
|}
 
 
 
Sind Teile des Parameters undefiniert, so tauchen nur diese als "<nowiki>{{{Parameternummer oder -name}}}</nowiki>" auf.
 
 
 
Oft erzeugen die gerenderten Seiten jedoch auch eine scheinbar willkürlich verstümmelte Darstellung ihres Inhalts:
 
 
 
* Werden "#expr" und "#ifexpr" auf einen Ausdruck angewendet, der einen Parameter-Tag ohne Vorgabewert enthält, so erzeugt das eine Fehlermeldung. Beispielsweise erzeugt eine Vorlage, die den Parameter "<nowiki>{{{1}}}</nowiki>" mit dem Wikitext "<nowiki>{{#expr:2*{{{1}}}}}</nowiki>" verdoppelt, folgende Fehlermeldung: "Expression error: Unrecognised punctuation character "{"".
 
 
 
Für Parameter ohne Vorgabewerte wird eine Umgehungslösung benötigt, da das Ergebnis im Falle eines undefinierten Parameters ohnehin nur von beschränktem Wert ist. Soll das Ergebnis dennoch angezeigtw erden, so können "&lt;nowiki&gt;"-Tags um den Parameter gesetzt werden; im Fall des ersten Beispiels ergibt das "<nowiki>{{{1}}}p</nowiki>".
 
 
 
Weniger überraschend, aber trotzdem die Brauchbarkeit des Ergebnisses einschränkend sind:
 
 
 
* "#if" wird auf einen Parameter ohne Vorgabewert angewendet und erzeugt den "then"-Teil, während der "else"-Teil nicht angezeigt wird.
 
* "#ifeq" erzeugt typischerweise nur den "else"-Teil.
 
* Variablen-Tags werden ausgewertet, aber nicht angezeigt.
 
* Ein Switch zeigt typischerweise nur den Vorgabewert.
 
 
 
In solchen Fällen kann der "<nowiki><includeonly></nowiki>"-Tag verwendet werden, um aussageschwaches und chaotisches Rendering auf der Vorlagenseite zu vermeiden. Doch so oder so bleibt der Nachteil während der Vorlagenentwicklung, dass eine Vorschau nicht auf aussagekräftige Weise die Änderungen in den Teilen ausserhalb der "<nowiki><noinclude</nowiki>"-Tags (also in den eingeschlossenen Teilen) anzeigt. Deshalb kann zumindest während der Vorlageentwicklung nützlich sein, aussagekräftige Vorgabewerte mitzuliefern.
 
 
 
Mit dem "<nowiki><noinclude</nowiki>"-Tag kann eine aussagekräftige Vorlage erzeugt werden, welche mehr Demonstrationen und Testfälle enthält als der einfache Standard. Typischerweise enthält der "<nowiki><noinclude</nowiki>"-Teil der Vorlageseite Beispiele, welche die Vorlage neim Einschliessen oder Ersetzen erzeugt. Änderungen in der Arbeitsweise (z. B. Änderungen ausserhalb des "<nowiki><noinclude</nowiki>"-Teils) sind in der Vorschau dieser Beispiele noch nicht effektiv, und ebenso nicht in "Zeige Änderungen" im Fall der Ersetzung.
 
 
 
Es können sich einige Formatierungseffekte zeigen, welche in der Bearbeitungsbox nicht zu erkennen waren.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 +
Eine Vorlage ist durch ein vorangestelltes "Vorlage:" (z. B. "[[Vorlage:Text]]") gekennzeichnet und kann wie jede andere Wikiseite erstellt werden.
  
 +
== Konzepte ==
  
 +
* [[/Parameter|Parameter]]
 +
* [[/Vorlagen-Tag-Layout|Vorlagen-Tag-Layout]]
 +
* [[/Relativer Name für querverlinkte Seite|Relativer Name für querverlinkte Seite]]
 +
* [[/Vorlageseite|Vorlagenseite]]
  
 
<!--
 
<!--
Zeile 180: Zeile 84:
  
 
-->
 
-->
 
+
{{Weblinks}}
== Weblinks ==
+
{{url|US|meta.Wikimedia.org|eng|http://meta.wikimedia.org/wiki/Help:Template|Help:Template}}
 
 
{{Weblinks|{{url|US|meta.Wikimedia.org|eng|http://meta.wikimedia.org/wiki/Help:Template|Help:Template}}
 
 
{{url|US|Mediawiki.org|eng|http://www.mediawiki.org/wiki/Help:Templates|Help:Templates}}
 
{{url|US|Mediawiki.org|eng|http://www.mediawiki.org/wiki/Help:Templates|Help:Templates}}
 
{{url|US|Mediawiki.org|ger|http://www.mediawiki.org/wiki/Help:Templates/de|Help:Templates/de}}
 
{{url|US|Mediawiki.org|ger|http://www.mediawiki.org/wiki/Help:Templates/de|Help:Templates/de}}
}}
+
{{Fuss}}
  
  
 
{{cat|Mediawiki}}
 
{{cat|Mediawiki}}
 +
{{cat|UNFERTIG}}

Aktuelle Version vom 7. Februar 2010, 00:57 Uhr

Eine Vorlage ist eine Wikiseite, die in anderen Wikiseiten auf eine der folgenden Arten verwendet werden kann.

[[Template:Name]]
[[Vorlage:Name]]
Erzeugt einen Hyperlink zur Vorlage "Name".
{{Name}} Der Inhalt der Vorlage "Name" wird erst zu dem Zeitpunkt in die aktuelle Seite eingefügt, wenn die aktuelle Seite aufgerufen wird. Im Bearbeitungsfenster ist stets nur "{{Name}}" zu sehen.
{{msgnw:Name}} Der Inhalt der Vorlage "Name" erst zu dem Zeitpunkt in die aktuelle Seite eingefügt, wenn die aktuelle Seite aufgerufen wird, wobei die rohe Wikisyntax angezeigt wird, als ob der Text vom "<nowiki>"-Tag umschlossen wäre. Im Bearbeitungsfenster ist stets nur "{{msngw:Name}}" zu sehen.
{{subst:Name}} (substitute) Der Inhalt der Vorlage "Name" wird sofort beim Speichern der aktuellen Seite in die aktuelle Seite eingefügt. Ab diesem Zeitpunkt ist im Bearbeitungsfenster nur noch der eingefügte Text zu sehen.

Auch eine Seite aus einem anderen Namensraum als "Vorlage:" kann als Vorlage verwendet werden - Ausnahmen sind nur die in "$wgNonincludableNamespaces" ausdrücklich ausgenommenen Namensräume. Um eine Seite aus dem Hauptnamensbereich als Vorlage zu verwenden, wird ein Doppelpunkt (":") vor den Seitennamen geschrieben.

Im Fall eines Namenskonflikts mit einer Variable (z. B. "Vorlage:Ns:3" und "Vorlage:PAGENAME") kann ":Vorlage:" verwendet werden, um deutlich zu machen, dass die Vorlage gemeint ist:

  • {{Ns:3}} bzw. {{PAGENAME}} zeigen den User talk bzw. die Seite "Mediawiki/Vorlage" (also die aktuelle Seite)
  • {{:Vorlage:Ns:3}} bzw. {{:Vorlage:PAGENAME}} zeigen den Inhalt der Vorlage "Ns:3" bzw. "PAGENAME".

Eine Seite von ausserhalb des Namensraums "Vorlage:" kann in folgenden Fällen nützlich sein:

  • Anzeige von Systemtexten im MediaWiki-Namensraum.
  • Vorlagen für den persönlichen Gebrauch in den Unterseiten von jemandes Benutzerseite, beispielsweise zu Testzwecken.
  • Einschluss von Seiten in anderen Seiten innerhalb desselben Namensraums, beispielsweise wird eine zusätzliche Seite (z. B. eine Arbeitsliste) mit jeder Seite durch eine einfache Namensübereinstimmung verbunden werden; sie kann mit {{{{NAMESPACE}}:{{PAGENAME}}/Arbeitsliste}} angelegt und eingeschlossen werden.

Eine Vorlage kann auch eine andere Vorlage enthalten. Für das wiederholte Einfügen von Vorlagen siehe:

Eine seitenbezogene Variable innerhalb einer Vorlage (z. B. {{PAGENAME}}) wird den Wert der die Vorlage aufrufenden Seite ergeben, nicht den Wert, den die Vorlage selbst liefern würde.

In einem Vorlagennamen wird das Zeichen "#" und alle darauffolgenden Zeichen ignoriert: "{{tc#abc}}" wird also den Inhalt der Vorlage "tc" liefern.

Ein Wikitext mit aufeinanderfolgenden doppelten öffnenden und schliessenden geschweiften Klammern (z. B. "{{{{tc}}}}") wird als Vorlage interpretiert, welche einen durch dreifache geschweifte Klammern begrenzten Vorlagenparameter-Tag (also "{ {{{tc}}} }") enthält. Um das zu vermeiden, sollte mindestens in einem der Klammernpaare ein Leerschlag eingefügt werden, am besten aber "{{ {{tc}} }}".

Die Erweiterung "ExpandTemplates" erstellt die Seite "Special:ExpandTemplates", welche den Wikitext anzeigt, der durch den Aufruf einer Vorlage erzeugt wird. Dasselbe geschieht auch bei Verwendung eines URL der Art "http://mikiwiki.org/wiki/index.php?title=Mediawiki/Vorlage&action=raw&templates=expand".

Eine Vorlage ist durch ein vorangestelltes "Vorlage:" (z. B. "Vorlage:Text") gekennzeichnet und kann wie jede andere Wikiseite erstellt werden.

Konzepte

Herausgeber Sprache Webseitentitel Anmerkungen
country US.gif meta.Wikimedia.org eng Help:Templatewbm
country US.gif Mediawiki.org eng Help:Templateswbm
country US.gif Mediawiki.org ger Help:Templates/dewbm