Hilfe:Variablen: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
(Benutzerdefinierte Variablen)
Zeile 6: Zeile 6:


== Übersicht über verwendbare Standard-Variable ==
== Übersicht über verwendbare Standard-Variable ==
{|
; Achtung: Wegen des intensiven Gebrauchs von Caches (Zwichenspeicher) auf der Server- und der Benutzerseite (Client), kann es durchaus dazu kommen, dass die Variablenwerte nicht absolut aktuell sind, sondern vom Zeitpunkt der letzten Erstellung des Artikels stammen und seitdem aus einem der Caches so ausgeliefert worden sind. Sollte der "Verdacht" bestehen, dass die Werte nicht aktuell sind, hilft meist, über die Aufrufadresse (URL) eine Aktualisierung zu erzwingen. Dazu wird manuell an die Aufrufadresse des Artikels einmalig ''?action=purge'' angehängt und der Artikel erneut aufgerufen.
|'''Syntax'''  
 
|'''Bedeutung'''
{| {{Prettytable}}
|'''aktueller Wert'''
! Syntax
! Bedeutung
! aktueller Wert
! existiert seit MediaWiki-Version
|-
|-
|<nowiki>{{CURRENTMONTH}}</nowiki>
! colspan=4 | Datum und Zeit
|Monat  (Zahl)
|{{CURRENTMONTH}}
|-
|-
|<nowiki>{{CURRENTMONTHNAME}}</nowiki>
| <nowiki>{{CURRENTYEAR}}</nowiki>
|Monat (Name)
| heutiges Jahr
|{{CURRENTMONTHNAME}}
| {{CURRENTYEAR}}
|
|-
|-
|<nowiki>{{CURRENTMONTHNAMEGEN}}</nowiki>
| <nowiki>{{CURRENTMONTH}}</nowiki>
|Monatsname im Genitiv
| heutiger Monat  (Zahl)
|{{CURRENTMONTHNAMEGEN}}
| {{CURRENTMONTH}}
|
|-
|-
|<nowiki>{{CURRENTDAY}}</nowiki>
| <nowiki>{{CURRENTMONTHNAME}}</nowiki>
|Tag
| heutiger Monat (Name)
|{{CURRENTDAY}}
| {{CURRENTMONTHNAME}}
|
|-
|-
|<nowiki>{{CURRENTDAYNAME}}</nowiki>
| <nowiki>{{CURRENTMONTHNAMEGEN}}</nowiki>
|Wochentag
| heutiger Monatsname im Genitiv
|{{CURRENTDAYNAME}}
| {{CURRENTMONTHNAMEGEN}}
|
|-
|-
|<nowiki>{{CURRENTYEAR}}</nowiki>
| <nowiki>{{CURRENTMONTHABBREV}}</nowiki>
|Jahr
| heutiger Monatsname abgekürzt
|{{CURRENTYEAR}}
| {{CURRENTMONTHABBREV}}
| 1.5
|-
|-
|<nowiki>{{CURRENTTIME}}</nowiki>
| <nowiki>{{CURRENTWEEK}}</nowiki>
|Uhrzeit
| heutige Woche (Zahl)
|{{CURRENTTIME}}
| {{CURRENTWEEK}}
|
|-
|-
|<nowiki>{{NUMBEROFARTICLES}}</nowiki>
| <nowiki>{{CURRENTDAY}}</nowiki>
|Anzahl von Artikeln
| heutiger Tag
|{{NUMBEROFARTICLES}}
| {{CURRENTDAY}}
|
|-
|-
|<nowiki>{{PAGENAME}} </nowiki>
| <nowiki>{{CURRENTDAY2}}</nowiki>
|Artikelname
| heutiger Tag (immer zweistellig)
|{{PAGENAME}}
| {{CURRENTDAY2}}
| 1.6
|-
| <nowiki>{{CURRENTDAYNAME}}</nowiki>
| heutiger Wochentag
| {{CURRENTDAYNAME}}
|
|-
| <nowiki>{{CURRENTDOW}}</nowiki>
| heutiger Wochentag (Zahl)
| {{CURRENTDOW}}
|
|-
| <nowiki>{{CURRENTTIME}}</nowiki>
| momentane Uhrzeit (24 Stunden, Format HH:mm)
| {{CURRENTTIME}}
|
|-
| <nowiki>{{CURRENTHOUR}}</nowiki>
| momentane Stunde (24 Stunden,  zweistellig)
| {{CURRENTHOUR}}
|
|-
| <nowiki>{{CURRENTTIMESTAMP}}</nowiki>
| momentaner Zeitpunkt (Format YYYYMMDDHHmmss)
| {{CURRENTTIMESTAMP}}
| 1.7
|-
! colspan=4 | Technische Daten zum Wiki
|-
| <nowiki>{{SITENAME}}</nowiki>
| Name des Wikis
| {{SITENAME}}
|
|-
| <nowiki>{{CURRENTVERSION}}</nowiki>
| Die Version der MediaWiki-Software in diesem Wiki
| {{CURRENTVERSION}}
| 1.7
|-
| <nowiki>{{CONTENTLANG}}</nowiki>
| Die Standardsprache in diesem Wiki
| {{CONTENTLANG}}
| 1.7
|-
! colspan=4 | Wiki-Statistiken
|-
| <nowiki>{{NUMBEROFARTICLES}}</nowiki>
| Anzahl von Artikeln
| {{NUMBEROFARTICLES}}
|
|-
| <nowiki>{{NUMBEROFPAGES}}</nowiki>
| Anzahl aller Seiten
| {{NUMBEROFPAGES}}
| 1.7
|-
| <nowiki>{{NUMBEROFFILES}}</nowiki>
| Anzahl hochgeladener (Medien-)Dateien (insbesondere für wiki-commons)
| {{NUMBEROFFILES}}
| 1.5
|-
| <nowiki>{{NUMBEROFEDITS}}</nowiki>
| Anzahl aller Seitenbearbeitungen
| {{NUMBEROFEDITS}}
| 1.10
|-
| <nowiki>{{NUMBEROFUSERS}}</nowiki>
| Anzahl mindestens einmal angemeldeter Benutzer
| {{NUMBEROFUSERS}}
| 1.7
|-
| <nowiki>{{NUMBEROFACTIVEUSERS}}</nowiki>
| Anzahl aktiver Benutzer (vgl. [[Spezial:Statistik]])
| {{NUMBEROFACTIVEUSERS}}
| 1.15
|-
| <nowiki>{{NUMBEROFADMINS}}</nowiki>
| Anzahl der Mitglieder in der Gruppe sysop (Systemoperatoren)
| {{NUMBEROFADMINS}}
| 1.7
|-
| <nowiki>{{PAGESINCAT:Hilfe}}</nowiki>
| Anzahl von Artikeln und Unterkategorien in der anzugebenden Kategorie (Hier: beispielhaft in der [[:Kategorie:Hilfe|"Hilfe"]])
| {{PAGESINCAT:Hilfe}}
| 1.13
|-
| <nowiki>{{NUMBERINGROUP:sysop}}</nowiki>
| Anzahl von Benutzern in einer anzugebenden Benutzergruppe (Hier: beispielhaft die Gruppe der Systemoperatoren)
| {{NUMBERINGROUP:sysop}}
|
|-
| <nowiki>{{PAGESINNS:0}}</nowiki>
| Anzahl von Seiten (einschließlich Weiterleitungen Begriffserklärungen) im Namespace mit der anzugebenden Nummer (Hier: beispielhaft der Artikelnamensraum,  Index 0); nur verwendbar wenn "teure" Parserfunktionen aktiviert sind (im allgemeinen nicht)
| {{PAGESINNS:0}}
| 1.7
|-
! colspan=4 | Artikelinformationen
|-
| <nowiki>{{PAGENAME}} </nowiki>
| Artikelname
| {{PAGENAME}}
|
|-
| <nowiki>{{REVISIONID}}</nowiki>
| (über alles Artikel des gesamten Wikis eindeutige) Nummer dieser Artikelversion
| {{REVISIONID}}
| 1.5
|-
| <nowiki>{{REVISIONDAY}}</nowiki>
| Datum der Bearbeitung dieser Artikelversion
| {{REVISIONDAY}}
| 1.8
|-
| <nowiki>{{REVISIONDAY2}}</nowiki>
| Datum der Bearbeitung dieser Artikelversion (zweistellig)
| {{REVISIONDAY2}}
| 1.8
|-
| <nowiki>{{REVISIONMONTH}}</nowiki>
| Monat der Bearbeitung dieser Artikelversion (zweistellig ab Version 1.17)
| {{REVISIONMONTH}}
| 1.8
|-
| <nowiki>{{REVISIONYEAR}}</nowiki>
| Jahr der Bearbeitung dieser Artikelversion
| {{REVISIONYEAR}}
| 1.8
|-
| <nowiki>{{REVISIONTIMESTAMP}}</nowiki>
| Zeitpunkt der Bearbeitung dieser Artikelversion (Format YYYYMMDDHHmmss)
| {{REVISIONTIMESTAMP}}
| 1.8
|-
| <nowiki>{{REVISIONUSER}}</nowiki>
| Bearbeiter (Benutzername) dieser Artikelversion
| {{REVISIONUSER}}
| 1.15
|-
| <nowiki>{{PAGESIZE:Hilfe:Variablen}}</nowiki>
| Umfang des anzugebenden Artikels in Byte (aufwändig!) (Hier: Beispielsweise dieser Artikel)
| {{PAGESIZE:Hilfe:Variablen}}
| 1.13
|-
| <nowiki>{{PAGESIZE:Hilfe:Variablen|R}}</nowiki>
| Umfang anzugebenden Artikels in Byte ohne Trennzeichen (aufwändig!) (Hier: Beispielsweise dieser Artikel)
| {{PAGESIZE:Hilfe:Variablen|R}}
| 1.13
|-
! colspan=4 | Die Anzeige des Artikels beeinflussend
|-
| <nowiki>{{DISPLAYTITLE:neuer Titel}}</nowiki>
| Setzt die Anzeige (!) des Artikeltitels auf den angegebenen Text, z.B. für Titel, die mit einem Kleinbuchstaben beginnen; muss über die Systemvariable $wgAllowDisplayTitle aktiviert sein; standardmäßig deaktiviert bis 1.10, danach standardmäßig aktiviert
| ''(keine eigene Anzeige)'' {{DISPLAYTITLE:spezieller Titel}}
| 1.7
|-
| <nowiki>{{DEFAULTSORT:Sortierwert}}</nowiki>
| setzt für  alle im Artikel angegebenen Kategorien den Sortierschlüssel auf ''Sortierwert'', so dass dieser nicht bei jeder Kategorienangabe separat aufgeführt werden muss.
| ''(keine eigene Anzeige)''
| 1.10
|-
| <nowiki>{{PAGENAME}} </nowiki>
| Artikelname
| {{PAGENAME}}
|
|}
|}



Version vom 8. März 2011, 15:35 Uhr

Generelles

Im GenWiki wird der Begriff Variablen in zwei unterschiedlichen Zusammenhängen verwendet:

  • einerseites dienen fest programmierte Variablen ("Magische Worte") in der zu Grunde liegenden Software MediaWiki dazu, bestimmte, sich veränderliche Werte - wie das aktuelle Datum oder die Artikelanzahl - in Artikel einzufügen. Ebenso wie Vorlagen werden diese Variablen eingesetzt, indem man sie in doppelte geschweifte Klammern fasst. In dieser Beschreibung werden werden sie im weiteren Standard-Variable genannt.
  • andererseits können in Artikeln eigene Variable definiert und eingesetzt werden.

Übersicht über verwendbare Standard-Variable

Achtung
Wegen des intensiven Gebrauchs von Caches (Zwichenspeicher) auf der Server- und der Benutzerseite (Client), kann es durchaus dazu kommen, dass die Variablenwerte nicht absolut aktuell sind, sondern vom Zeitpunkt der letzten Erstellung des Artikels stammen und seitdem aus einem der Caches so ausgeliefert worden sind. Sollte der "Verdacht" bestehen, dass die Werte nicht aktuell sind, hilft meist, über die Aufrufadresse (URL) eine Aktualisierung zu erzwingen. Dazu wird manuell an die Aufrufadresse des Artikels einmalig ?action=purge angehängt und der Artikel erneut aufgerufen.
Syntax Bedeutung aktueller Wert existiert seit MediaWiki-Version
Datum und Zeit
{{CURRENTYEAR}} heutiges Jahr 2024
{{CURRENTMONTH}} heutiger Monat (Zahl) 11
{{CURRENTMONTHNAME}} heutiger Monat (Name) November
{{CURRENTMONTHNAMEGEN}} heutiger Monatsname im Genitiv November
{{CURRENTMONTHABBREV}} heutiger Monatsname abgekürzt Nov. 1.5
{{CURRENTWEEK}} heutige Woche (Zahl) 47
{{CURRENTDAY}} heutiger Tag 24
{{CURRENTDAY2}} heutiger Tag (immer zweistellig) 24 1.6
{{CURRENTDAYNAME}} heutiger Wochentag Sonntag
{{CURRENTDOW}} heutiger Wochentag (Zahl) 0
{{CURRENTTIME}} momentane Uhrzeit (24 Stunden, Format HH:mm) 05:19
{{CURRENTHOUR}} momentane Stunde (24 Stunden, zweistellig) 05
{{CURRENTTIMESTAMP}} momentaner Zeitpunkt (Format YYYYMMDDHHmmss) 20241124051909 1.7
Technische Daten zum Wiki
{{SITENAME}} Name des Wikis GenWiki
{{CURRENTVERSION}} Die Version der MediaWiki-Software in diesem Wiki 1.39.6 1.7
{{CONTENTLANG}} Die Standardsprache in diesem Wiki de 1.7
Wiki-Statistiken
{{NUMBEROFARTICLES}} Anzahl von Artikeln 249.204
{{NUMBEROFPAGES}} Anzahl aller Seiten 532.467 1.7
{{NUMBEROFFILES}} Anzahl hochgeladener (Medien-)Dateien (insbesondere für wiki-commons) 2.731 1.5
{{NUMBEROFEDITS}} Anzahl aller Seitenbearbeitungen 2.464.240 1.10
{{NUMBEROFUSERS}} Anzahl mindestens einmal angemeldeter Benutzer 16.125 1.7
{{NUMBEROFACTIVEUSERS}} Anzahl aktiver Benutzer (vgl. Spezial:Statistik) 96 1.15
{{NUMBEROFADMINS}} Anzahl der Mitglieder in der Gruppe sysop (Systemoperatoren) 20 1.7
{{PAGESINCAT:Hilfe}} Anzahl von Artikeln und Unterkategorien in der anzugebenden Kategorie (Hier: beispielhaft in der "Hilfe") 9 1.13
{{NUMBERINGROUP:sysop}} Anzahl von Benutzern in einer anzugebenden Benutzergruppe (Hier: beispielhaft die Gruppe der Systemoperatoren) 20
{{PAGESINNS:0}} Anzahl von Seiten (einschließlich Weiterleitungen Begriffserklärungen) im Namespace mit der anzugebenden Nummer (Hier: beispielhaft der Artikelnamensraum, Index 0); nur verwendbar wenn "teure" Parserfunktionen aktiviert sind (im allgemeinen nicht) Vorlage:PAGESINNS:0 1.7
Artikelinformationen
{{PAGENAME}} Artikelname Variablen
{{REVISIONID}} (über alles Artikel des gesamten Wikis eindeutige) Nummer dieser Artikelversion 908438 1.5
{{REVISIONDAY}} Datum der Bearbeitung dieser Artikelversion 8 1.8
{{REVISIONDAY2}} Datum der Bearbeitung dieser Artikelversion (zweistellig) 08 1.8
{{REVISIONMONTH}} Monat der Bearbeitung dieser Artikelversion (zweistellig ab Version 1.17) 03 1.8
{{REVISIONYEAR}} Jahr der Bearbeitung dieser Artikelversion 2011 1.8
{{REVISIONTIMESTAMP}} Zeitpunkt der Bearbeitung dieser Artikelversion (Format YYYYMMDDHHmmss) 20110308153544 1.8
{{REVISIONUSER}} Bearbeiter (Benutzername) dieser Artikelversion Baumbuwegen 1.15
{{PAGESIZE:Hilfe:Variablen}} Umfang des anzugebenden Artikels in Byte (aufwändig!) (Hier: Beispielsweise dieser Artikel) 13.822 1.13
{{PAGESIZE:Hilfe:Variablen|R}} Umfang anzugebenden Artikels in Byte ohne Trennzeichen (aufwändig!) (Hier: Beispielsweise dieser Artikel) 13822 1.13
Die Anzeige des Artikels beeinflussend
{{DISPLAYTITLE:neuer Titel}} Setzt die Anzeige (!) des Artikeltitels auf den angegebenen Text, z.B. für Titel, die mit einem Kleinbuchstaben beginnen; muss über die Systemvariable $wgAllowDisplayTitle aktiviert sein; standardmäßig deaktiviert bis 1.10, danach standardmäßig aktiviert (keine eigene Anzeige) 1.7
{{DEFAULTSORT:Sortierwert}} setzt für alle im Artikel angegebenen Kategorien den Sortierschlüssel auf Sortierwert, so dass dieser nicht bei jeder Kategorienangabe separat aufgeführt werden muss. (keine eigene Anzeige) 1.10
{{PAGENAME}} Artikelname Variablen

Einsatz eigener Variablen

Durch die Einbindung der Erweiterung "Variables"[1] von Rob Adams, Tom Hempel and Daniel Werner können von den Autoren in ihren Artikeln jetzt auch eigene Variablen definiert und eingesetzt werden. Somit können in einem Artikel wiederkehrende Werte (der Familienname, die Ortsbezeichnung, die passende GOV-ID) an einer Stelle des Artikel-WikiTextes mit einer eigenen Variablen verbunden werden und an mehreren Stellen dann mit einem "Platzhalter" eingefügt werden. Auf diese Weise können nachträgliche Änderungen stabiler und schneller ausgeführt werden und auch automatisiert Ergänzungen an ganzen Artikelgruppen vorgenommen werden. Bereits jetzt profitieren Vorlagen (vgl. z.B. Vorlage:Ort oder Vorlage:Familienname) entsprechend davon.

Diese Technik kann aber auch frei in eigenen Artikeln verwendet werden.

Gültigkeit der Variablen

Die Gültigkeit, der "Lebensraum" der einmal definierten Variablen beschränkt sich zunächst auf den Artikel, in dem die Definition stattfand. In anderen Artikeln kann nur durch die Definition einer (ggf. gleichnamigen) Variablen im dortigen WikiText mit dieser gearbeitet werden. Somit kann auch in eingebundenen Vorlagen nicht direkt mit Variablenwerten durch den "Aufruf" der Variablen selbst gearbeitet weden, sie müssen als Parameter übergeben werden (siehe weiter unten).

Variablen, genauer: deren aktuellen Werte, können an Vorlagen übergeben werden (sie weiter unten).

Umgekehrt gilt allerdings: Bei der Einbindung eines Textbaustein-Artikels {{BausteinArtikel}} in den WikiText eines Artikels werden alle im Baustein vorgenommenen Variablendefinitionen übernommen, das heißt: die Variablen sind verfügbar.

Prinzip des Einsatzes

Jede Variable wird in einem Artikel durch die erste Wertzuweisung mit ihrem Namen und ihrem Wert angelegt. Später im Text vorgenommene Wertzuweisungen ändern nur noch den Wert.

Auch wenn (wie weiter unten der Vollständigkeit halber beschrieben) technisch kompliziertere Einsatzmöglichkeiten denkbar sind, besteht die wohl häufigste und einfachste Verwendung nur aus zwei Schritten:

  1. Anlegen der Variablen mit gleichzeitiger Wertzuweisung
  2. Mehrfacher Eintrag der Variablen im folgenden WikiText desselben Artikels, wo in der Anzeige oder bei einer Parameterübergabe an Vorlagen bzw. Erweiterungen der Wert verwendet werden soll

Anlegen der Variablen und erste Wertzuweisung

Soll im folgenden Artikeltext mehrfach der Wert einer Variablen BeispielVar verwendet werden, so ist diese vorher im Artikeltext anzulegen und mit einem ersten Wert (hier: MeinWert) zu versehen. Dies geschieht mit dem (in der späteren Artikel-Anzeige unsichtbaren) Ausdruck

{{#vardefine:BeispielVar|MeinWert}}

Änderung der Wertzuweisung an eine Variable

Eine erneute Verwendung der Variablendefinition mit einem anderen Wert

{{#vardefine:BeispielVar|MeinNeuerWert}}

erkennt, dass diese Variable bereits existiert und aktualisiert nur den Wert.

An einer bestimmten Stelle im WikiText hat die Variable immer den Wert von ihrer letzten Zuweisung (Textabarbeitung "von oben nach unten").

Verwendung des aktuellen Variablenwertes

Achtung
Die Schreibweise des Variablennamens muss im folgenden exakt so wie in der Definition sein (Groß-/Kleinbuchstaben)!

Normaler Text

An den Stellen, wo der Wert der Variablen im Text erscheinen soll, wird eingefügt:

{{#var:BeispielVar}}
WikiText Anzeige
Die Variable BeispielVar hat gerade den Wert {{#var:BeispielVar}} Die Variable BeispielVar hat gerade den Wert MeinWert

Einsatz in Vorlagen

Hier gibt es eigentlich keine Besonderheiten, nur die Schreibweise mag ein wenig verwirren, daher ein konkretes Beispiel:

Soll der Vorlage Vorlage1 der Wert der Variablen BeispielVar übergeben werden, sieht der WikiText so aus:

{{Vorlage1|{{#var:BeispielVar}}}}

oder, wenn der Parameter den Namen Par3 trägt:

{{Vorlage1|Par3={{#var:BeispielVar}}}}

Spezielle Form mit Standardwert

In bestimmten Verwendungs-Situationen[2] kann man nicht sicher sein, ob die Variable vorher bereits definiert wurde. Dann kann ein voreingestellter Standardwert hilfreich sein, der wie ein Vorlagenparameter mitgegeben wird:

{{#var:BeispielVar|Standardwert}}

Einsatz als Wertoption bei speziellen Erweiterungen

Für Erweiterungen, die in der so genannten Tag-Schreibweise Parameter übernehmen können, z.B. bei der Einbindung von GeoGen-Grafiken und dem dort verwendeten Tag lastname-map:

<lastname-map>Meier</lastname-map>

funktioniert der einfache Ersatz des Familiennamens durch den Aufruf der mit {{#vardefine:FamNam|Meier}} vorher definierten Variablen FamNam in der Form

<lastname-map>{{#var:FamNam}}</lastname-map>

leider nicht ! Hier hilft folgende Ersatzschreibweise für die Erweiterung:

{{#tag:lastname-map|{{#var:FamNam}}}}

die von der Parser-Funktion {{#tag|Tagbezeichner|Parameter...}} Gebrauch macht. Dies wurde zum Beispiel in der Vorlage:Familienname aktiv eingesetzt und kann dort im WikiText nachvollzogen werden.

Einsatz in bedingten Ausdrücken (Parser-Funktionen)

Im technisch fortgeschrittenen Gebrauch können Variablen und ihre Werte auch in bedingten Ausdrücken bei Parser-Funktionen eingesetzt werden. Allerdings ist hierbei zu berücksichtigen, dass alle Variablenwerte im Artikel vor jeglicher logischen Verzweigung komplett berechnet werden und erst dann die Prüfungen ausgeführt werden. Beispielsweise wird im folgenden Ausdruck

{{#ifexpr:LogischerAusdruck|
     {{#vardefine:a|b}}|
     {{#vardefine:a|c}}
 }}

die Variable a immer den Wert c bekommen, unabhängig vom aktuellen Wert der Bedingung Logischer Ausdruck. Denn es werden immer beide Zuweisungen ausgewertet und ausgeführt werden und die letzte Zuweisung "gewinnen".

Der gewünschte Effekt wird hier zum Beispiel über folgende Schreibweisen erreicht, die die Auswertung der Bedingung in die Variablendefinition legt:

{{#vardefine:a | {{#ifexpr:LogischerAusdruck|b|c}} }}



  1. Die englische Original-Dokumentation für Installation und Einsatz dieser MediaWiki-Erweiterung findet sich hier
  2. Dies kann zum Beispiel passieren, wenn mit dem oben erwähnten Textbausteinverfahren Variablen und ihre Werte "übernommen" werden sollen und dieser Textbaustein später unabgestimmt geändert wurde.