Extension:Variables/de
Variables Freigabestatus: stabil |
|
---|---|
Einbindung | Parser-Funktion |
Beschreibung | Führt Parser-Funktionen zum Umgang mit seitenbezogenen Variablen ein. |
Autor(en) |
|
Betreuer | MGChecker |
Letzte Version | 2.5.1 (2019-07-11) |
MediaWiki | 1.29+ |
PHP | 5.5+ |
Datenbankänderungen | Nein |
Lizenz | Keine Lizenz angegeben |
Herunterladen | README RELEASE-NOTES |
Quarterly downloads | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Public wikis using | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Übersetze die Variables-Erweiterung, wenn sie auf translatewiki.net verfügbar ist | |
Vagrant-Rolle | variables |
Probleme | Offene Aufgaben · Einen Fehler melden |
InternalParseBeforeSanitize
hook for MediaWiki 1.35 - MediaWiki 1.38 , or missing the #var_final
parser function in MediaWiki 1.39 +, please update to the latest version (master
branch for now). Siehe <translate> task <tvar name=1>T276627</tvar></translate> und <translate> task <tvar name=1>T250963</tvar></translate> für weitere Informationen.Die Erweiterung Variables ermöglicht es dir, auf einer Seite eine Variable zu definieren, sie später auf derselben Seite oder in darauf eingebundenen Vorlagen zu verwenden, ihren Wert zu verändern; eventuell zu einem Wert, der relativ zu dem vorherigen ist, usw.
Es verhält sich wie eine Vorlage, nur abgespeckt und nur auf eine einzige Seite bezogen, so dass auf einer Seite viele Variablen benutzt werden können, ohne das Wiki mit vielen Vorlagen zu verlangsamen. Für die besten Resultate zusammen mit der Erweiterung Erweiterung:ParserFunctions verwenden.
Einer Variablen einen Wert zuordnen
#vardefine
{{#vardefine:VariablenName | AngegebenerWert }}
Weist den Wert AngegebenerWert der (schon existierenden oder hiermit eingeführten) Variablen VariablenName zu.
- Beispiel:
{{#vardefine:iconwidth|25}}
setzticonwidth = 25
#vardefineecho
{{#vardefineecho:VariablenName | AngegebenerWert }}
Funktioniert genauso wie #vardefine
, aber der betroffene Wert wird ausgegeben.
- Beispiel: gibt
iconwidth = {{#vardefineecho:iconwidth|25}}
aus
Auslesen des Wertes einer Variablen
#var
Der Wert der Variablen VariablenName wird ausgelesen durch
{{#var:VariablenName}}
Wenn VariablenName nicht definiert ist, wird eine leere Zeichenkette ausgegeben. Es gibt keine Fehlermeldung.
Es ist möglich, falls die Variable undefiniert oder leer ist, einen Standardwert zurückzugeben:
{{#var:VariablenName | Standardwert }}
Dies ist gleichbedeutend mit:
{{#if: {{#var:VariablenName }} | {{#var:VariablenName }} | Standardwert }}
ist aber wesentlich kürzer und besser strukturiert. Vor Version 2.0 wurde der Standardwert immer expandiert. Seit Version 2.0 wird der Standardwert nur noch expandiert, wenn er tatsächlich benutzt wird.
Der Wert kann in Parser-Funktionen usw. benutzt werden.
#varexists
{{#varexists:VariablenName }}
gibt 1 aus, wenn die Variable bereits definiert ist. Wenn die Variable nicht definiert ist, so wird ein leerer Wert ausgegeben.
Sie unterstützt einen zweiten und einen dritten Parameter, um diese Werte zu ersetzen.
{{#varexists:VariablenName | wenn-Wert | sonst-Wert }}
Dies ist gleichbedeutend mit:
{{#if: {{#varexists: VariablenName }} | wenn-Wert | sonst-Wert }}
ist aber wesentlich kürzer und besser strukturiert. Vor Version 2.5 wurden beide Werte immer expandiert. Seit Version 2.5 werden wenn- und sonst-Wert nur noch expandiert, wenn ihre Fälle tatsächlich eintreten.
#var_final
Experimentelle neue Funktion, die mit Variables 2.0 eingeführt wurde. Diese Funktion gibt den letzten Wert aus, den eine Variable hat, nachdem die Seite vollständig gerendert wurde. Naturgemäß wird dieser Wert erst eingefügt, nachdem der Parser den vollständigen Wiki-Code verarbeitet hat, also kann diese Funktion nicht innerhalb anderer Funktionen genutzt werden, da der endgültige Wert zu diesem Zeitpunkt noch nicht bekannt ist. Beispiel:
{{#var_final:VariablenName | Standardwert }}
Der Standardwert wird benutzt, wenn die Variable zum Zeitpunkt, an dem das Rendern abgeschlossen ist, nicht existiert oder sein Wert aus einer leeren Zeichenkette besteht. Der Standardwert wird an genau der Stelle expandiert, an der die Funktion benutzt wurde, genauso werden die Parameter expandiert, selbst wenn sie nicht gebraucht werden.
Beispiele
Um Erweiterung:ParserFunctions benutzen zu können, muss auch die #expr
-Erweiterung installiert sein.
Berechne x = 2*a + b
:
{{#vardefine:x|{{#expr:2*{{#var:a}}+{{#var:b}}}}}}
Erhöhe n um eins:
{{#vardefine:n|{{#expr:{{#var:n}}+1}}}}
Installation
- <translate> [[<tvar name=2>Special:ExtensionDistributor/Variables/de</tvar>|Download]] and move the extracted <tvar name=name>
Variables/de
</tvar> folder to your <tvar name=ext>extensions/
</tvar> directory.</translate>
<translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Variables%2Fde - <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
wfLoadExtension( 'Variables/de' );
- Konfiguriere nach Bedarf
- File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>
Konfiguration
Diese Erweiterung verfügt über zwei Konfigurationsparameter:
$egVariablesAreVolatile
- Erlaubt zu deaktivieren, dass der ParserFrame von der Erweiterung als volatile markiert wird, deaktiviert also Vorlagencaching.
- Standard:
true;
$egVariablesDisabledFunctions
- Erlaubt, die angegebenen Parserfunktionen zu deaktivieren, die von dieser Erweiterung bereitgestellt werden.
- Standard:
[];
- Beispiel:
[ 'var_final', 'vardefineecho' ];
Kompatibilität
Die empfohlene Version der Variables-Erweiterung für neuere MediaWiki-Versionen ist unten aufgeführt. Ältere Versionen der Erweiterung können ebenfalls funktionieren, werden jedoch für neue MediaWiki-Versionen nicht getestet.
MediaWiki version | Variables version |
---|---|
1.19–1.22 | 2.1.x |
1.23–1.28 | 2.2.x |
1.29–1.34 | 2.5.x |
1.35–1.39 | 2.5.x (deprecated) |
1.40+ | unsupported (WIP) |
Alternativen
Da diese Erweiterung nicht für Wikis aktiviert werden wird, die von der Wikimedia Foundation (WMF) betrieben werden, sind hier einige Alternativen gelistet:[1][2][3][4]
- Wenn du Variables als Cache für aufwendige Operationen verwendest, kannst du den Abschnitt, in dem du sie benötigst, in eine Vorlage umwandeln und die benötigten Informationen stattdessen als Vorlagenparameter weitergeben. Dies funktioniert, bis du das Expansion depth limit erreichst, welches wenn nötig erhöht werden kann.
- Wenn du Variables verwendest, um in Vorlagen komplexere Operationen durchzuführen, als mit einfachen Erweiterung:ParserFunctions möglich ist, und du auf dem Server hinreichende Berechtigungen hast, so kannst du stattdessen Scribuntos Lua-Funktionen verwenden. Bei geteiltem Hosting ist es möglich, dass du Scribunto nicht installieren kannst. Beachte, dass dadurch keine globalen Variablen ermöglicht werden. Die Erweiterung Extension:VariablesLua führt allerdings eine Scribunto-Schnittstelle für den Variables-Speicher ein.
- Verwende keine Variablen, sondern dupliziere stattdessen die Information, die du als Variable benötigst. Wenn diese Information über einen aufwändigen Vorlagenaufruf generiert wird, kann die Performance darunter leiden. Diese Lösung funktioniert, bis du das Knotenlimit erreichst.
- Wenn du Variables nur für automatische Nummerierung verwendest, könnte Extension:NumerAlpha eine Option sein.
Siehe auch
- Erweiterung:PhpTags
- Erweiterung:MyVariables - Fügt neue MediaWiki-Variablen hinzu
- Erweiterung:Loops — Fügt Parserfunktionen hinzu, die Schleifen durchführen
- Erweiterung:Arrays — Erstelle ein Array und führe Array-Funktionen (wie Suche, Teilen und Sortieren) und -Aktionen aus (wie Schnittmengenbildung, Vereinigung und Differenz)
- Extension:HashTables — Neue Parserfunktionen, um Hash-Tabellen in MediaWiki handzuhaben
Einzelnachweise
- ↑ 1.0 1.1 phab:T9865
- ↑ 2.0 2.1 phab:T65324
- ↑ 3.0 3.1 phab:T113859
- ↑ 4.0 4.1 phab:T151192
File:OOjs UI icon information-progressive.svg | <translate> This extension is included in the following wiki farms/hosts and/or packages:</translate>
<translate> This is not an authoritative list.</translate> <translate> Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here.</translate> <translate> Always check with your wiki farms/hosts or bundle to confirm.</translate> |
- Pages with script errors
- Pages with broken file links
- Stable extensions/de
- Parser function extensions/de
- Extensions with manual MediaWiki version
- Extensions with no license specified/de
- Extensions in Wikimedia version control/de
- All extensions/de
- Extensions not in ExtensionJson
- Modifiable variables extensions/de