Mediawiki/Vorlage/Vorlageseite

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Mit Ausnahme der "<noinclude>"- und "<includeonly>"-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 "abc{{{1|def}}}ghi{{{1|jkl}}}mno" dasselbe wie die Vorlage "{{t_1}}", 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:

anfang-{{{1}}}-mitte-{{{2}}}-ende<noinclude>[[Kategorie:Demovorlage]]</noinclude>
Syntax Ergebnis Beschreibung
anfang-{{{1}}}-mitte-{{{2}}}-ende anfang-{{{1}}}-mitte-{{{2}}}-ende

Sind Teile des Parameters undefiniert, so tauchen nur diese als "{{{Parameternummer oder -name}}}" 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 "{{{1}}}" mit dem Wikitext "{{#expr:2*{{{1}}}}}" 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 "<nowiki>"-Tags um den Parameter gesetzt werden; im Fall des ersten Beispiels ergibt das "{{{1}}}p".

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 "<includeonly>"-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 "<noinclude>"-Tags (also in den eingeschlossenen Teilen) anzeigt. Deshalb kann zumindest während der Vorlageentwicklung nützlich sein, aussagekräftige Vorgabewerte mitzuliefern.

Mit dem "<noinclude>"-Tag kann eine aussagekräftige Vorlage erzeugt werden, welche mehr Demonstrationen und Testfälle enthält als der einfache Standard. Typischerweise enthält der "<noinclude>"-Teil der Vorlageseite Beispiele, welche die Vorlage beim Einschliessen oder Ersetzen erzeugt. Änderungen in der Arbeitsweise (z. B. Änderungen ausserhalb des "<noinclude>"-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.