Hilfe:TemplateData/VisualEditor

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Diese Seite beschreibt die Wirkung der Parameter aus der Vorlagendokumentation mit TemplateData auf die Darstellung der Vorlagen im VisualEditor.

Äußere Strukturinformationen

[Bearbeiten | Quelltext bearbeiten]

Werden Vorlagen mit der Unterstützung von TemplateData dokumentiert, so ergeben sich zusätzliche Möglichkeiten, dem Bearbeiter der Dialogfenster im VisualEditor das Ausfüllen zu erleichtern. Hier folgt eine kurze Auflistung der wichtigsten Parameter mit Beschreibung.

Strukturinformationen
Parametername/TemplateData Beschreibung
{ "description": "…",

}
Vorlagenbeschreibung
Der Text, der im oberen Bereich des Dialogfensters einer ausgewählten Vorlage ausgegeben wird. Die Kurzbeschreibung zur Funktion oder zum Zweck einer Vorlage. Falls keine Beschreibung vorhanden ist wird ein entsprechender Hinweis ausgegeben.
Die Vorlage „Template:XY“ hat noch keine Beschreibung, aber vielleicht gibt es einige Informationen auf der Vorlagenseite.[1]
"params": { "1":   {  Deklaration  },
            "XYZ": {  Deklaration  },
             
           }
Unbenannte („1“) oder benannte („XYZ“) Parameter mit der spezifischen Deklaration. Hier wird für jeden einzelnen Parameter festgelegt, wie er im Dialogfeld behandelt werden soll.
"format": "inline",

Wirkung {{_|_=_}}

"format": "block",

Wirkung {{_↵| _ = _↵}}

Ausgabeformat der Vorlage als Block, also je Parameter eine Zeile oder inline, alles in einer Zeile. Wirkt sich auf den Quelltext aus.
inline
{{Vorlagenname|1=|2=|3=|4=…}}
block
{{Vorlagenname
| 1 =
| 2 =
| 3 =
| 4 =
…
}}
 
"sets": [ {
   "label": "Set1",
   "params": [ "1", "5", "XYZ" ]
   },
   "label": "Set2",
   "params": [ "Name", "Ort", "Telefon" ]
   } ],
 

Eine Parameterliste vom Typ Array, in dem Parameterkombinationen zusammengestellt werden können.
Jedes Setelement enthält dabei eine Gruppe von Parametern, die gemeinsam weiterverwendet werden sollen.
Dem Set muss ein Name (label) als Kennung zugeordnet sein, dabei sollte möglichst eine Länge von 20 Zeichen nicht überschritten werden.
Für ein mögliches Anwendungsbeispiel siehe sets


 Info: Die Entwicklung dieser Funktionalität ist noch nicht abgeschlossen und steht bisher nicht zur Verfügung.[2]

Deklaration der inneren Zuweisungsparameter

[Bearbeiten | Quelltext bearbeiten]

Jedem Parameter in params können durch unterschiedliche Zuweisungen vorbestimmte Eigenschaften übergeben werden, um den Benutzern das Ausfüllen zu erleichtern.

  • Parameterbezeichnungen – Nutzung alternativer Namen für die Anzeige der Parameter bei der Ausgabe im Dialogfenster
  • Priorität – Vorgaben, ob ein Eingabefeld als Pflichtangabe, Vorschlag oder optionaler Wert eingestuft werden soll
  • Zusatzinformationen – wichtige Hinweise zum Parameter zum Zweck, als Beispielangabe, zum erwarteten Standard oder um einen Autowert zu ermöglichen
  • Feldtypen – Festlegung der Eingabeoptionen

Parameterbezeichnungen

[Bearbeiten | Quelltext bearbeiten]

Für die Unterstützung der Anwender ist es sinnvoll, wenn allen, insbesondere den unbenannten (nummerierten) Parametern, ein selbsterklärender label zugeordnet wird.

Parameterbezeichnung / Parameterbeschriftung
TemplateData-Deklaration Einfluss auf das interaktive Dialogfeld
Beschriftung
"1": {
   "label": "Bezeichner",
   
     },
"2": {
   
     },
"Beschreibung": {
   
     },
"alt": {
   "label": "Alternativtext",
   
     },

aktiv eingeblendet (dauerhaft, wenn ein Parameter als required oder vorübergehend ausblendbar, wenn er als suggested deklariert wurde)
Bezeichner
 
2
 
Beschreibung
 
Alternativtext
|
Die angezeigte Beschriftung des Vorlagenparameters,[3]
label kann leer bleiben, wenn der Parametername identisch ist mit der Beschriftung, die angezeigt werden soll.
Aliasname, Synonym
"1": {
  
  "aliases": [ "Synonym1", "Synonym2" ],
  
},
1
 

Selbst wenn im Quelltext ein Aliasname wie beispielsweise Synonym1 verwendet wurde, bleibt die Anzeige bei der eigentlichen Parameterbezeichnung

1
|
Aliasnamen, die im Quelltext synonym zum Parameter angegeben werden können, haben keine Auswirkung auf die Parameternamen in der Anzeige des Dialogfensters. Es wird dort immer der Name angezeigt, der als label vorgegeben wurde. Eine Anzeige möglicher Synonyme erfolgt nicht.

Die Parameter können mit unterschiedlichen Prioritäten ausgestattet werden. Es gibt die Möglichkeit, sie als Pflichtangabe  oder als vorgeschlagene Eingabeoption zu deklarieren.

Stellenwert der Parameter
TemplateData-Deklaration Einfluss auf das interaktive Dialogfeld
Ist ein Wert als Pflichtangabe  gekennzeichnet, so kann er nicht aus dem Bereich des Dialogfensters entfernt werden.
Ist es eine als erwünschte Option suggested vorgeschlagene Angabe, so kann auch diese zwar temporär ausgeblendet, aber nicht wirklich aus den Vorgaben des Dialogfensters entfernt werden. Der Parameter muss jedoch nicht ausgefüllt werden.
Erforderliches Feld[4]

"Name": {
   
   "required": true,
   
     },

Pflichtangeben können nicht ausgeblendet werden
Name
Parameter ist erforderlich.
|
nicht erforderlich, aber vorgeschlagen

"Alter": {
   
   "required": false,
   "suggested": true,
   
     },

Optionale, erwünschte Parameter lassen sich während des Ausfüllens ausblenden 0, jedoch nicht dauerhaft entfernen.[5]
Alter
|
vorgeschlagene Parameter

"Adresse": {
   
   "suggested": true,
   
     },

Entspricht dem vorherigen Beispiel, das "required": false muss nicht angeben werden
Adresse
 
optionale Parameter

"Telefon": {
   
   "suggested": false,
   
     },

Optionale Parameter können dauerhaft aus dem Dialogfensters ausgeblendet werden, so dass sie bei der nächsten Bearbeitung nicht mehr automatisch angeboten werden.

Im linken Teil des Dialogfensters werden alle ausgeblendeten Parameter hinter 0 aufgelistet

0 Telefon
veralteter Parameter
"Geschlecht": {
   
   "deprecated": true,
   
     },
Parameter als veraltet kennzeichnen
Geschlecht
Parameter ist veraltet.
 
"Geschlecht": {
   
   "deprecated": "Bitte den Parameter ersetzen.",
   
     },

oder

"Geschlecht": {
   
   "description": "Bitte den Parameter ersetzen.",
   "deprecated": true,
   
     },
Veraltet mit zusätzlichem Hinweistext, oder zusätzlich einen Hinweistext über den Parameter description anbringen
Geschlecht
Bitte den Parameter ersetzen.
Parameter ist veraltet.
 
Manchmal werden Vorlagen in ihrer Funktion erweitert oder verändert und es kann vorkommen, dass ein Parameter nicht mehr verwendet werden soll. Dieser kann als deprecated gekennzeichnet und mit einem entsprechenden Vermerk versehen werden. Zusätzlich wird ein Alarm hinter dem Namen angezeigt, um darauf aufmerksam zu machen. Nachdem ggf. geeigneter Ersatz über aktuelle Parameter geschaffen wurde, sollte das Feld aus der aktiven Parameterliste entfernt werden.
 Info: Diese Zuweisung sollte nicht gleichzeitig als Pflichtangabe gekennzeichnet werden.

Zusatzinformationen

[Bearbeiten | Quelltext bearbeiten]

Zur Unterstützung beim Ausfüllen können dem Parameter weitere Informationen mitgegeben werden.

Hinweisoptionen zu den Parametern
TemplateData-Deklaration Einfluss auf das interaktive Dialogfeld
Beschreibung
"Name": {
   
   "description": "Namensangabe in der Form Nachname, Rufname",
   
     },
Parameterbeschreibung oder sonstiger Hinweistext.
Name
Namensangabe in der Form Nachname, Rufname
 
Beispiel
"Name": {
   
   "example": "Mustermann, Maximilian",
   
     },
Beispielwert oder Text, der oberhalb des Eingabefeldes kursiv angezeigt wird
Name
Beispiel: Mustermann, Maximilian
 
Standardwert anzeigen
"Titel": {
   
   "default": "Lemma des Wikipedia-Artikels",
   
     },
Anzeige eines in der Programmierung voreingestellten Inhalts oder einer Standardangabe, falls der Parameter leer bleibt[6]
Titel
Standard: Lemma des Wikipedia-Artikels
Standard: Lemma des Wikipedia-Artikels
"Titel": {
   
   "default": "Lemma des Wikipedia-Artikels",
   "example": "Der Herr der Ringe",
   
     },
Beispiel für die gleichzeitige Angabe des Standard- und eines Beispieltextes
Titel
Standard: Lemma des Wikipedia-Artikels
Beispiel: Der Herr der Ringe
Standard: Lemma des Wikipedia-Artikels
Der hier angezeigte Wert oder Text hat nur eine Anzeigefunktion. Die Vorlagenprogrammierung zu diesem Parameter bestimmt, was bei fehlender oder erfolgter Eingabe in der Vorlage tatsächlich ausgegeben werden soll.
Autowert – Wertvorgabe
"Bild": {
   
   "autovalue": "Smiley cause.gif",
   
     },
Der Autowert wird als aktiver Inhalt in das Eingabefeld geschrieben und in den Quelltext übernommen, falls hier keine Ersetzung erfolgt.
Titel
Smiley cause.gif|
"Heute": {
   
   "default": "heutiges Datum",
   "autovalue": "{{subst:#time:d. F Y}}",
   
     },
Gleichzeitige Ausgabe eines Defaultwertes
Heute
Standard: heutiges Datum
{{subst:#time:d. F Y}}[7]

Über die Deklaration type können unterschiedliche Ausgabeformen für das Eingabefeld vorgegeben werden.

Festlegung der Eingabeoptionen
TemplateData-Deklaration Einfluss auf das interaktive Dialogfeld
unknown
"1": {
  
  "type": "unknown",
  
},
"1": {
  
  "type": "",
  
},
1
|
Dies ist die Standardeinstellung, die ausgegeben wird, wenn keine Typenzuweisung erfolgt. Alle Zeichen werden als Eingabe akzeptiert. Es ist möglich hier Wikitext einzufügen, der in der Seitenanzeige entsprechend in gestalteten Text oder Verlinkungen umgewandelt wird. Derselbe Effekt wird über eine Deklaration als content erreicht. Der Text kann beispielsweise als [[Hyperlink|Link]], <code><code></code>, '''fetter''' oder ''kursiver'' Text eingegeben werden, was in der Ansicht in Link, <code>, fetter oder kursiver Text gewandelt wird. Auch Bilddateien können hier in der Quelltextform [[Datei:Beispiel.png|100px|Beispielbild]] eingefügt und entsprechend umgewandelt werden.
content
"Inhalt": {
  
  "type": "content",
  
},
Inhalt
|
date
"Datum": {
  
  "type": "date",
  
},
Datum
|

 Info: Es werden Datums- oder Zeitangaben im Format der ISO 8601 erwartet, das wäre JJJJ-MM-TT, oder lokal (deutschsprachig) als 18. Dezember 2024 oder 17:48. Das Feld akzeptiert jegliche Eingaben, eine Prüfung auf Datumsformate im Eingabefeld erfolgt im VE zurzeit noch nicht.[2]

number
"Zahl": {
  
  "type": "number",
  
},
Zahl
|

 Info: Es wird eine Ziffernfolge erwartet, das Feld akzeptiert jedoch jegliche Angaben, eine Prüfung auf tatsächliche Zahlenwerte oder Sperre nicht-numerischer Zeichen erfolgt über das Eingabefeld im VE zurzeit noch nicht.[2]

string
"Zeichenkette": {
  
  "type": "string",
  
},
Zeichenkette (Zeichenfolge)
|

 Info: Es wird eine Zeichenkette erwartet, also eine Anordnung oder Folge beliebiger Zeichen. Es erfolgt keine Zeichenbeschränkung auf einen speziellen Zeichensatz.[2]

unbalanced-wikitext
"Nowiki": {
  
  "type": "unbalanced-wikitext",
  
},
Nowiki (Unausgeglichener Wikitext)
|

Wird beispielsweise eine Eingabe mit ungleicher Anzahl an öffnenden und schließenden Klammern erkannt, …

Nowiki
[fehlende öffnende Klammer]]|

… so wird die Eingabe als Nichtwikitext gekennzeichnet abgespeichert

Nowiki
<nowiki>[fehlende öffnende Klammer]]</nowiki>|
Diese Option könnte als Abfrage genutzt werden, um Fehler durch unterschiedliche Klammern [[}] [{]] oder ähnliche Fehleingaben zu kennzeichnen und den kompletten Inhalt des Eingabefeldes im Fehlerfall in <nowiki></nowiki> einzuschließen.
wiki-file-name
"Bild": {
  
  "type": "wiki-file-name",
  
},
Bild
|

 Info: Es wird der reine Dateiname, beispielsweise Kein Bild.jpg erwartet. Eine Prüfung, ob diese Datei existiert oder ein erlaubtes Dateiformat verwendet wurde, erfolgt bei der Eingabe nicht.[2]

Erwartet wird der komplette Name einer Mediendatei, wie er beispielsweise bei der Einbindung in Galerien oder in der Vorlage {{Doppeltes Bild}} erwartet wird: Ohne mögliche Präfixe Datei:, File:, Image: davor.
wiki-page-name
"Lemma": {
  
  "type": "wiki-page-name",
  
},
Lemma
|

Bei der Eingabe wird ein Feld mit möglichen Artikelnamen ausgeklappt, aus dem ein passendes Lemma ausgewählt werden kann.

Lemma
B|
B
Berlin
Brasilien
Bayern


Inhalt wurde entfernt

Lemma
 
wiki-user-name
"Benutzer": {
  
  "type": "wiki-user-name",
  
},
Benutzer
|

Bei der Eingabe wird ein Feld mit möglichen Benutzernamen ausgeklappt, aus dem ein vorhandener Benutzername ausgewählt werden kann. Es kann auch ein nicht existierender Name eingegeben werden.

Benutzer
A|
A
ABC
Android–B
Alpha-Centauri

wiki-template-name
"Navigationsleiste 1": {
  
  "type": "wiki-template-name",
  
},
Navigationsleiste 1
|

Bei der Eingabe wird ein Feld mit möglichen Vorlagennamen ausgeklappt, aus dem eine vorhandene Vorlage ausgewählt werden kann. Es kann auch ein nicht existierender Name eingegeben werden.

Navigationsleiste 1
Navigationsleiste B|
Navigationsleiste Bundesstraßen in Deutschland
Navigationsleiste Bundesautobahnen
Navigationsleiste brasilianische Botschafter
Navigationsleiste Boeing Hubschrauber

Wird versucht, um das Lemma oder den Benutzernamen Klammern zur Verlinkung [[]], Vorlageneinbindung {{}} oder als Codeformatierung durch Tags <> einzufügen, so wird das Eingabefeld rot umrandet. Der Versuch ein Pipe | im Feld zu setzen hat dieselbe Wirkung, während ein Schrägstrich / bislang nicht moniert wird (obwohl in Benutzernamen unzulässig). Auch eine Löschung der Eingabe führt zu dieser roten Anzeige, anschließend bleibt das leere Eingabefeld rot gekennzeichnet, bis es wieder aktiv angeklickt wird. Eine Meldung erfolgt nicht. Beide Typen sorgen für eine Beschränkung von maximal 255 im Eingabefeld, sobald diese Zahl überschritten wird, wird das Feld ebenfalls rot umrandet dargestellt. Benutzernamen wären allerdings auf 34 Zeichen beschränkt.

 Info: Wiksyntax, die Links oder Code erzeugen würde, wird im Eingabefeld erkannt. Eine solche Eingabe sollte nicht übernommen oder gar gespeichert werden, da sie unvorhergesehene Effekte erzeugen kann.

Lemma/Benutzer/File/Template
[[|
line
"Kurztext": {
  
  "type": "line",
  
},
Kurztext
|

 Info: Es erfolgt während der Eingabe „keine“ automatische Beschränkung der Textlänge, jegliche Eingabeformen sind möglich.[2]

Der Parameter ist als boolesche Variable deklariert und erwartet einen Wert 0 oder 1. Dies kann im Dialogfeld über eine Checkbox abgefragt werden. Hier sollte ein Autowert vorgegeben werden, damit die Anzeige einer Box anstelle eines Texteingabefeldes bereits beim Aufruf der Vorlage erzeugt wird. Fehlt die Autovorgabe, so wird geprüft, ob eine Eingabe im Textfeld erfolgt ist.
boolean
"Ticbox": {
  
  "type": "boolean",
  "autovalue": "0",
  
},
Zwischen zwei Zuständen abfragen, Vorgabe „0“ = Checkbox nicht ausgewählt
Ticbox
0
"Ticbox": {
  
  "type": "boolean",
  "autovalue": "1",
  
},
Zwischen zwei Zuständen abfragen, Vorgabe „1“ = Checkbox ausgewählt
Ticbox
"Ticbox": {
  
  "type": "boolean",
  
},
Zwischen zwei Zuständen abfragen, ohne Vorgabe erzeugt keine Checkbox sondern ein Eingabefeld.[8]
Ticbox
Text|
Für diesen Parameter gibt es eine vordefinierte Vorschlagsliste. Die Werte können durch einfaches Anklicken übernommen werden.
suggestedvalues
"lang": {
	"suggestedvalues": [
		"en",
        "fr",
		"la",
        "es",
        "it",
        "ru",
        "…"
	]
},
lang
Standard: deutschsprachig
en
fr
la
es
it
ru
  1. Ein Link direkt zur Vorlagenseite, auf der sich im Allgemeinen der Programmcode befindet. Hier können eventuell weitere Informationen zu den Parametern vorhanden sein.
  2. a b c d e f Stand: Juli 2024
  3. Der Labelname kann von dem bei der Programmierung verwendeten Parameternamen abweichen, da dort oftmals Abkürzungen oder Ziffern verwendet werden.
  4. Pflichtparameter können nicht entfernt oder ausgeblendet werden.
  5. Ausgeblendete Parameter verlieren ihren Inhalt und werden beim Speichern nicht in den Seitenquelltext übernommen. Wird die Vorlage erneut zur Bearbeitung geöffnet, so erscheinen sie wieder als Vorschlagsfelder als erwünschte Eingabe
  6. Der hier angezeigte Standardtext wird nicht in den Quelltext übertragen. Die Eingabe des Parameters ermöglicht die Änerung eines voreingestellten Ausgabewertes.
  7.  Info: Eine substituierte Vorlage oder Parserfunktion ist hier nur möglich, wenn die Vorlage, zu der das TemplateData-Element gehört, nicht selbst in Tags, wie beispielsweise in Belegangaben mit <ref>-Tags eingebunden wird.
  8. Durch Eingabe von 0 oder 1 wandelt sich dieses Feld in eine Checkbox um.