Zum Inhalt springen

„Hilfe:Parserfunktionen/Programmierung“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Inhalt gelöscht Inhalt hinzugefügt
lf
K AZ: Der Seiteninhalt wurde durch einen anderen Text ersetzt.
Zeile 1: Zeile 1:
{{msgnw:@}}
<noinclude>{{Hilfe}}
Diese Hilfeseite erläutert spezielle '''[[Hilfe:Parserfunktionen|Parserfunktionen]]''', die in der Vorlagenprogrammierung relevant sind.</noinclude><includeonly>
== Programmierung ==
Diese Funktionen werden für spezielle Aufgaben in der Vorlagenprogrammierung benötigt.</includeonly>


{{Str match|{{MSGNW::{{#invoke:WLink|getPlain|[[Netflix]] (USA)}}}}|Kategorie%:Video%-on%-Demand%-Anbieter}}
Die deutschsprachigen Lokalisierungen sind ungebräuchlich, weitgehend unbekannt und verhindern erfolgreiche Textsuchen.

<includeonly>=</includeonly>== {{Anker|tag}} Tag-Erweiterung einbinden – #tag ==<includeonly>=</includeonly>

{| class="wikitable"
|- class="hintergrundfarbe8"
! Funktion !! [[Hilfe:Parserfunktionen#L10N|Lokalisierung]] !!colspan="2"| Pflichtparameter !!colspan="2"| Parameter
|- class="hintergrundfarbe5"
| <code>#tag</code>
| <code style="font-size:89%; text-decoration:line-through;">#erweiterung</code>
|style="border-right-style:none"| ''Erweiterung''
|style="border-left-width:2px; border-left-color:#000000; border-right-style:none;"| ''Inhalt''
|style="border-left-width:2px; border-left-color:#000000; border-right-style:none;"| ''Parameter''
|style="border-left-width:2px; border-left-color:#000000;"| ''Parameter''
|-
|colspan="6"| [[Hilfe:Tags#Wiki-Erweiterung|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 Parserfunktionen 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.
|-
|colspan="6" class="hintergrundfarbe9"| '''Beispiel:'''
<pre>
{{#tag:nowiki|http://{{{Domain}}}/{{{Pfad}}}}}
</pre>
Wirkung:
# Die beiden Vorlagenparameter <code><nowiki>{{{Domain}}}</nowiki></code> und <code><nowiki>{{{Pfad}}}</nowiki></code> werden durch ihre aktuellen Werte ersetzt.
# Das gesamte Konstrukt wird als <code>&lt;nowiki></code> eingeschlossen.
# Dadurch ist die URL nicht anklickbar, aber inhaltlich vollständig.
Beim üblichen Konstrukt <code style="font-size:85%; white-space:nowrap;"><nowiki>&lt;nowiki>http://{{{Domain}}}/{{{Pfad}}}&lt;/nowiki></nowiki></code> sind hingegen <code style="font-size:85%"><nowiki>{{{Domain}}}</nowiki></code> und <code style="font-size:85%"><nowiki>{{{Pfad}}}</nowiki></code> ebenfalls syntaktisch nicht wirksame Texte.
|}

<includeonly>=</includeonly>== {{Anker|invoke}} Modul-Funktion einbinden – #invoke ==<includeonly>=</includeonly>
Siehe ausführlich [[Hilfe:Lua#invoke|Hilfe:Lua]].
{| class="wikitable"
|- class="hintergrundfarbe8"
! Funktion !! [[Hilfe:Parserfunktionen#L10N|Lokalisierung]] !!colspan="2"| Pflichtparameter !!colspan="2"| Parameter
|- class="hintergrundfarbe5"
| <code>#invoke</code>
| <code style="font-size:89%; text-decoration:line-through;">#aufrufen</code>
|style="border-right-style:none"| ''Modul''
|style="border-left-width:2px; border-left-color:#000000; border-right-style:none;"| ''Funktion ''
|style="border-left-width:2px; border-left-color:#000000; border-right-style:none;"| ''Parameter''
|style="border-left-width:2px; border-left-color:#000000;"| ''Parameter''
|-
|colspan="6"| Modul-Funktion einbinden.
* ''Modul'' ist der Name des Moduls (ohne <code>Modul:</code> vorangestellt).
* ''Funktion'' ist der Name der Funktion im Modul.
* Weitere ''Parameter'' können dem Funktionsaufruf beigegeben werden.
|}

<includeonly>=</includeonly>== Substitution – subst ==<includeonly>=</includeonly>
Siehe ausführlich [[Hilfe:Substitution#Programmierung|hier]]. Der Quelltext wird nach Abspeicherung ersetzt durch die ausgewerteten Resultate der Ausdrücke.
{| class="wikitable"
|- class="hintergrundfarbe8"
! Funktion !! [[Hilfe:Parserfunktionen#L10N|Lokalisierung]] !! Pflichtparameter !!colspan="2"| Parameter
|- class="hintergrundfarbe5" id="subst"
| <code>subst</code>
| <code style="font-size:89%; text-decoration:line-through;">ers</code>
|style="border-right-style:none"| ''Funktion/Seite''
|style="border-left-width:2px; border-left-color:#000000; border-right-style:none;"| ''Parameter''
|style="border-left-width:2px; border-left-color:#000000;"| ''Parameter''
|-
|colspan="5"| Parserfunktion oder Seiteneinbindung substituieren.
* ''Funktion/Seite'' ist der Name des Konstrukts.
* Weitere ''Parameter'' können beigegeben werden.
|- class="hintergrundfarbe5" id="safesubst"
| <code>safesubst</code>
|
| ''Funktion/Seite''
| ''Parameter''
| ''Parameter''
|-
|colspan="5"| Sehr ähnlich <code>subst</code>, mit leicht unterschiedlicher Wirkung in Feinheiten.
|}

<includeonly>=</includeonly>== {{Anker|msgnw}} Seitenquelltext einbinden – msgnw ==<includeonly>=</includeonly>

Diese Funktion ist heutzutage ungebräuchlich; es wird eher eine formatierte Präsentation mittels <code>[[#tag|tag:]]</code> bevorzugt wie:
<pre>
{{#tag:syntaxhighlight | {{Modul:Hello}} | lang=lua}}
</pre>
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:
** <code>[[#msg|msg:]]</code>''nowiki''
** <code>raw:</code> heißt „roh“ und entspricht <code>[[Hilfe:URL-Parameter#RAW|action=raw]]</code>

{| class="wikitable"
|- class="hintergrundfarbe8"
! Funktion !! Pflichtparameter
|- class="hintergrundfarbe5"
| <code>msgnw</code><br /> <code>raw</code>
| ''Seite''
|-
|colspan="4"| Seitenquelltext darstellen.
* ''Seite'' ist der Name der Seite; ohne Namensraum als <code>Vorlage:</code>.
Das Ergebnis ist syntaktisch nicht wirksam.
|-
|colspan="4" class="hintergrundfarbe9"| '''Beispiel:'''<br />
<code><nowiki>{{msgnw:@}}</nowiki></code> ([[Vorlage:@]]) →
{{#tag:pre| {{msgnw:@}} |style=font-size:80%}}
|}

<includeonly>=</includeonly>== {{Anker|msg}} Veraltet: Seite einbinden ==<includeonly>=</includeonly>
Diese Funktion war in den frühen 2000er Jahren der Vorläufer gewesen, bevor das [[Hilfe:Seiten einbinden|Einbinden von Seiten]] reguläre Syntax wurde.
* Die Vorgabe für den Namensraum ist <code>Vorlage:</code> 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 <code>[[Hilfe:Parserfunktionen/Multilingual#int|int:]]</code> und erwarten $1 $2 $3 usw. als Platzhalter, passen sich aber umgekehrt an die aktuelle Benutzersprache an.
* <code>msg:</code> und <code>int:</code> waren ursprünglich ähnliche Konzepte; <code>int:</code> arbeitet nur im Namensraum <code>MediaWiki:</code> und beachtet sprachabhängige Unterseiten; <code>msg:</code> in beliebigen Namensräumem mit Vorgabe <code>Vorlage:</code> 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. <code>msg:</code> war als lokal definierbare Nachricht für den Wikitext eine Variante zur Systemnachricht der Software.

{| class="wikitable"
|- class="hintergrundfarbe8"
! Funktion !! Pflichtparameter !!colspan="2"| Parameter
|- class="hintergrundfarbe5"
| <code>msg</code>
|style="border-right-style:none"| ''Seite''
|style="border-left-width:2px; border-left-color:#000000; border-right-style:none;"| ''Parameter''
|style="border-left-width:2px; border-left-color:#000000;"| ''Parameter''
|-
|colspan="4"| Seiteneinbindung.
* ''Seite'' ist der Name der Seite; ohne Namensraum als <code>Vorlage:</code>.
* Weitere ''Parameter'' können beigegeben werden.
|-
|colspan="4" class="hintergrundfarbe9"| '''Beispiel:''' <code><nowiki>{{msg:@|30px}}</nowiki></code> ([[Vorlage:@]]) → {{msg:@|30px}}
|}

{{Hilfe/Weitere Informationen|Liste=
* [[Hilfe:Parserfunktionen/Kontrollstrukturen|Kontrollstrukturen]] – bedingte Auswertungen
* [[Hilfe:Lua/Modul im Wiki#Komponenten|Lua/Modul im Wiki]] – Lua-Funktionen zur nachträglichen Ausführung
** <code>frame:extensionTag()</code> – Tag-Erweiterung einbinden
** <code>frame:expandTemplate()</code> – Seiteneinbindung
|NOTOC=<includeonly>3</includeonly>
}}
<noinclude>
[[Kategorie:Hilfe:Vorlagen]]
[[Kategorie:Hilfe:Wikisyntax]]
</noinclude>

Version vom 14. April 2022, 16:04 Uhr

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