Hilfe:Parserfunktionen/Programmierung

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Hilfe:PF/P)
Zur Navigation springen Zur Suche springen

Diese Hilfeseite erläutert spezielle Parserfunktionen, die in der Vorlagenprogrammierung relevant sind.

Die deutschsprachigen Lokalisierungen sind ungebräuchlich, weitgehend unbekannt und verhindern erfolgreiche Textsuchen.

Tag-Erweiterung einbinden – #tag

Funktion Lokalisierung Pflichtparameter Parameter
#tag #erweiterung Erweiterung Inhalt Parameter Parameter
Tag-Erweiterung von MediaWiki (kein HTML) mit veränderlichem Inhalt einbinden.
  • Erweiterung ist der Name der Erweiterung.
  • Inhalt ist der in der Regel erforderliche Inhalt des Elements; andernfalls wäre diese Parserfunktion eher sinnfrei.
  • Weitere Parameter (meist benannt) können dem Element zugewiesen werden.

Im Unterschied zu einer direkten Angabe im Quelltext können im Inneren des Elements zuvor noch Teile des Quelltextes aktuell generiert werden, was bei den meisten Erweiterungen nicht möglich ist.

Beispiel:
{{#tag:nowiki|http://{{{Domain}}}/{{{Pfad}}}}}

Wirkung:

  1. Die beiden Vorlagenparameter {{{Domain}}} und {{{Pfad}}} werden durch ihre aktuellen Werte ersetzt.
  2. Das gesamte Konstrukt wird als <nowiki> eingeschlossen.
  3. Dadurch ist die URL nicht anklickbar, aber inhaltlich vollständig.

Beim üblichen Konstrukt <nowiki>http://{{{Domain}}}/{{{Pfad}}}</nowiki> sind hingegen {{{Domain}}} und {{{Pfad}}} ebenfalls syntaktisch nicht wirksame Texte.

Der ausschließliche Sinn ist es also, das Element zunächst vor dem Parser zu verstecken, und erst nach Expansion des Inhalts wirksam werden zu lassen.

  • Damit werden die Elemente selbst vor Software und Menschen zunächst verborgen, was gravierende Nachteile nach sich ziehen kann.
  • Diese Funktion sollte deshalb insbesondere nicht im ANR benutzt werden, sondern nur innerhalb von Vorlagenprogrammierung .
  • Vor dem VisualEditor werden die Elemente erfolgreich versteckt und lassen sich nicht mehr sinnvoll bearbeiten.

Modul-Funktion einbinden – #invoke

Siehe ausführlich Hilfe:Lua.

Funktion Lokalisierung Pflichtparameter Parameter
#invoke #aufrufen Modul Funktion Parameter Parameter
Modul-Funktion einbinden.
  • Modul ist der Name des Moduls (ohne Modul: vorangestellt).
  • Funktion ist der Name der Funktion im Modul.
  • Weitere Parameter können dem Funktionsaufruf beigegeben werden.

Substitution – subst

Siehe ausführlich hier. Der Quelltext wird nach Abspeicherung ersetzt durch die ausgewerteten Resultate der Ausdrücke.

Funktion Lokalisierung Pflichtparameter Parameter
subst ers Funktion/Seite Parameter Parameter
Parserfunktion oder Seiteneinbindung substituieren.
  • Funktion/Seite ist der Name des Konstrukts.
  • Weitere Parameter können beigegeben werden.
safesubst Funktion/Seite Parameter Parameter
Sehr ähnlich subst, mit leicht unterschiedlicher Wirkung in Feinheiten.

Seitenquelltext einbinden – msgnw

Diese Funktion ist heutzutage ungebräuchlich; es wird eher eine formatierte Präsentation mittels tag: bevorzugt wie:

{{#tag:syntaxhighlight | {{Modul:Hello}} | lang=lua}}

Allerdings funktioniert das nicht mit Wikitext als eingebundene Seite, der bei seiner Einbindung reagiert und ausgewertet wird. Das ist gerade die Wirkung und das Ziel von Vorlagen.

  • Der Name bedeutet:
Funktion Pflichtparameter
msgnw
raw
Seite
Seitenquelltext darstellen.
  • Seite ist der Name der Seite; ohne Namensraum als Vorlage:.

Das Ergebnis ist syntaktisch nicht wirksam.

Beispiel:

{{msgnw:@}} (Vorlage:@) →

 <onlyinclude>[[Datei:At sign.svg|{{{1|17px}}}|klasse=skin-invert|verweis=|alt=@ – at-Zeichen für E-Mail|(at)]]</onlyinclude>

{{Dokumentation}} 

Veraltet: Seite einbinden

Diese Funktion war in den frühen 2000er Jahren der Vorläufer gewesen, bevor das Einbinden von Seiten reguläre Syntax wurde.

  • Die Vorgabe für den Namensraum ist Vorlage: genau wie bei normalen Einbindungen.
  • Benannte und unbenannte Parameter werden wie bei Vorlagen in der eingebundenen Seite ersetzt.
  • Zunächst war es eher für die Systemnachrichten gedacht gewesen, worauf noch der Name hindeutet. Diese wandelten sich jedoch zur Parserfunktion int: und erwarten $1 $2 $3 usw. als Platzhalter, passen sich aber umgekehrt an die aktuelle Benutzersprache an.
  • msg: und int: waren ursprünglich ähnliche Konzepte; int: arbeitet nur im Namensraum MediaWiki: und beachtet sprachabhängige Unterseiten; msg: in beliebigen Namensräumem mit Vorgabe Vorlage: und ist nicht von der Benutzersprache abhängig. Die Platzhalter der zunächst nur unbenannten Parameter wurden anders gestaltet, um später auch beliebig benannte Parameter zu ermöglichen. msg: war als lokal definierbare Nachricht für den Wikitext eine Variante zur Systemnachricht der Software.
Funktion Pflichtparameter Parameter
msg Seite Parameter Parameter
Seiteneinbindung.
  • Seite ist der Name der Seite; ohne Namensraum als Vorlage:.
  • Weitere Parameter können beigegeben werden.
Beispiel: {{msg:@|30px}} (Vorlage:@) → @ – at-Zeichen für E-Mail