Hilfe:Vorlagen/Erstellung: Unterschied zwischen den Versionen
+erweiterte dynamisierung; -inuse;
Rikku (Diskussion | Beiträge) K (anpassung: beispiel mit obsoleter team-vorlage entfernt;) |
Rikku (Diskussion | Beiträge) (+erweiterte dynamisierung; -inuse;) |
||
Zeile 1:
<!--Variable für dynamisches Hochzählen von Beispielen. Kann als Parameter "zaehler_beispiele" bei der Einbindung dieser Seite übergeben werden.-->
{{#vardefine:countExample|{{{zaehler_beispiele|0}}}}}
=== Namensraum ===
Analog zu Benutzerseiten, Dateien oder Kategorien, werden Vorlagen von gewöhnlichen Wiki-Artikeln unterschieden. In {{SITENAME}} steht hierfür der Namensraum ''Vorlage'' zur Verfügung. Seiten, die eine Vorlage repräsentieren, sind in diesem Namensraum anzulegen.
Zeile 123 ⟶ 124:
</div>
=== Erweiterte Dynamisierung:
Eine weitere Möglichkeit der Dynamisierung ist, komplexe Aufgabenstellungen in Teilaufgaben zu zerlegen und die Teilaufgaben zu lösen. Dadruch ist es umgekehrt möglich, die gelösten Teilprobleme in unterschiedlichen Kontexten zu verwenden. Die Lösung eines solchen Teilproblems kann als Funktion beschrieben werden.
In diesem Abschnitt werden weitere gängige Konzepte und Erweiterungen vorgestellt, die beider Erstellung von Vorlagen hilfreich sind. Da viele der nachfolgend vorgestellten Themen generell für Wiki-Systeme gültig und im Internet bereits gute dokumentiert sind, wird für die vertiefende Lektüre in der Regel auf diese verwiesen.▼
==== Variablen ====▼
Eine ''Funktion'' hat immer einen Namen, optional einen oder mehrere Eingabeparameter und genau einen Rückgabewert. Einige Funktionen, die Fragen zu einem Wiki-System beantworten, sind bereits Bestandteil der MediaWiki-Basisinstallation. Eine Übersicht über diese Basisfunktionen ist in der {{Wp|Hilfe:Variablen#Funktionen|Wikipedia-Hilfe}} zu finden.
==== Funktionen ====▼
{{#vardefine:countExample|{{#expr:{{#var:countExample}} + 1}} }}
* Beispiel {{#var:countExample}}: <code><nowiki>{{SORTIERUNG:<Sortierschlüssel>}}</nowiki></code>: diese Funktion übernimmt die Sortierung der Artikel innerhalb einer Kategorie.
Funktionen können auch als Vorlagen beschrieben werden. Sie können in anderen Vorlagen oder direkt in Artikeln über ihren Namen aufgerufen werden. In {{SITENAME}} sind Vorlagen, die eine Funktion beschreiben, in die [[:Kategorie:Vorlage:Funktion]] eingeordnet.
{{#vardefine:countExample|{{#expr:{{#var:countExample}} + 1}} }}
* Beispiel {{#var:countExample}}: [[Vorlage:KB]]:Diese Vorlage bekommt als Eingabeparameter eine Kapitelnummer aus dem ''Detektiv Conan''-Manga und gibt die Nummer des entsprechenden Manga-Bandes zurück, in dem das Kapitel zu finden ist.
▲
▲==== Erweiterung: Variablen ====
Variablen sind, ähnlich wie Parameter, Platzhalter und bieten die Möglichkeit, eine Vorlage in einem gewissen Rahmen flexibel auf verschiedene Anwendungsfälle reagieren zu lassen. Wie die nachfolgenden beiden Beispiele zeigen, sind Variablen nicht auf den Einsatz in Vorlagen beschränkt.
{{#vardefine:countExample|{{#expr:{{#var:countExample}} + 1}} }}
* Beispiel {{#var:countExample}}: Auf dieser Hilfeseite sind die Überschriften als Variablen definiert. Damit ist es möglich sehr bequem auf einzelne Abschnitte der Hilfeseite zu referenzieren. Werden die Überschriften im Rahmen zukünftiger Bearbeitungen zu dieser Hilfeseite angepasst, so bleibt die Referenzierung weiterhin korrekt. Es ist nicht notwendig, die gesamte Hilfeseite manuell zu prüfen.
{{#vardefine:countExample|{{#expr:{{#var:countExample}} + 1}} }}
=== {{{refVorlageDokumentieren}}} ===▼
* Beispiel {{#var:countExample}}: Die Nummerierung der Beispiele auf dieser und anderen Hilfeseiten ist über eine Variable abgebildet, die die Anzahl der bisher im Dokument enthaltenen Beispiele als nummerischen Wert gespeichert hat. Wird ''irgendwo'' auf der Seite ein neues Beispiel hinzugefügt, wird zuvor der Wert dieser Zählervariable um eins erhöht. Wird ''irgendwo'' auf der Seite ein Beispiel entfernt, wird auch die zugehörige Inkrementation der Zählervariable entfernt. Auch können die Beispiele dadurch beliebig mit einander getauscht oder an andere Positionen der Hilfeseite verschoben werden. Es ist nicht notwendig, anschließend die gesamte Hilfeseite manuell auf eine korrekte Nummerierung der Beispiele zu prüfen.
Nachfolgend eine kleine Übersicht über ausgewählte Eigenschaften zu Parametern und Variablen:
{| class="roundtable wiki" style="width:95%; margin:10px;"
! style="width:22%;" | Eigenschaft
! style="width:16%;" | Parameter
! style="width:20%;" | Variable
|-
|Funktion
|dienen als Schnittstelle zur Vorlage, um Werte aus dem Kontext außerhalb der Vorlage an die Vorlage zu übergeben
|dienen innerhalb der Vorlage dazu, Werte zu definieren und mehrfach zu verwenden oder sie zu verändern
|-
|{{Wp|Variable_(Programmierung)#Sichtbarkeitsbereich_von_Variablen_.28Scope.29|Sichbarkeit}}
|sind innerhalb der Vorlage sichtbar<br />sind nicht in Vorlagen sichtbar, die innerhalb der Vorlage aufgerufen werden<!--prüfen-->
|sind innerhalb der Vorlage sichtbar<br />sind in Vorlagen sichtbar, die innerhalb der Vorlage aufgerufen werden<!--werden überdeckt??-->
|-
|Veränderbarkeit
|Werte werden innerhalb der Vorlage nicht verändern
|Werte können innerhalb der Vorlage verändert werden
|-
|Zugriff
|werden außerhalb der Vorlage mit Werten belegt<br />Werte können innerhalb der Vorlage abgefragt werden
|werden innerhalb der Vorlage mit Werten belegt<br />Werte können innerhalb der Vorlage abgefragt werden
|}
Im Rahmen von MediaWiki-Systemen sind Variablen Bestandteil der Erweiterung [https://www.mediawiki.org/wiki/Extension:Variables ''Variables'']. Diese Erweiterung ist in {{SITENAME}} installiert und kann verwendet werden.
Um eine Variable zu definieren oder mit einem Wert zu belegen, wird die folgende Syntax verwendet:
:<code><nowiki>{{#vardefine:<Name der Variable>|<optionale Vorbelegung>}}</nowiki></code>
Um den Wert einer Variable abzurufen wir die folgende Syntax verwendet:
:<code><nowiki>{{#var:<Name der Variable>}}</nowiki></code>
▲==== Erweiterung: Parser-Funktionen ====
Als Parser-Funktionen werden die Funktionen der MediaWiki-Erweiterung [https://www.mediawiki.org/wiki/Extension:ParserFunctions ''ParserFunctions''] herausgehoben. Diese Erweiterung ist in {{SITENAME}} installiert und kann verwendet werden.
Mit dieser Erweiterung ist es u. a. möglich, bedingte Abfragen, Existensprüfungen oder mathematische Berechnungen durchzuführen.
{{Vorlage:Absatzrahmen (Formatierung)|hinweis=Automatisches Hochzählen der Beispiele in einer Hilfeseite|farbcode_rot=113|farbcode_gruen=163|farbcode_blau=212|datei=stern.png}}
Im Abschnitt zun der MediaWiki-Erweiterung ''Variables'' wurde bereits angesprochen, dass für die Nummerierung der Beispiele auf den Hilfeseiten eine Zählervariable definiert ist, die mit jedem Beispiel um eins erhöht wird. Diese schrittweise Erhöhung ist mithilfe der Parser-Dunktion ''expr'' abgebildet.
:Syntax: <code><nowiki>{{#vardefine:countExample|{{#expr:{{#var:countExample}} + 1}} }}</nowiki></code>
Die Variable selbst trägt den Namen ''countExample''.
*<code><nowiki>{{#vardefine:countExample</nowiki></code>: die Variable soll mit einem neuen Wert belelgt werden
*<code><nowiki>{{#expr:{{#var:countExample}} + 1}}</nowiki></code>: der neue Wert der Variable ist der ''Rückgabewert'' der ''expr''-Funktion
**<code><nowiki>{{#var:countExample}}</nowiki></code>: bisheriger Wert der Variable
</div>
Eine Übersicht über die Funktionen dieser Erweiterung finden sich in der [https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions Hilfe zur Erweiterung]. Eine deutsche Erläuterung zu den Funktionen ist auch in der {{Wp|Hilfe:Vorlagenprogrammierung#Beschreibung_der_ParserFunctions|Wikipedia-Hilfe zur Vorlagenprogrammierung}} zu finden.
==== Erweiterung: Wiederholungen ====
Mit der MediaWiki-Erweiterung [https://www.mediawiki.org/wiki/Extension:Loops ''Loops''] können Wiederholungen abgebildet werden. Diese Erweiterung ist in {{SITENAME}} installiert und kann verwendet werden.
▲=== {{{refVorlageDokumentieren|Dokumentation}}} ===
Vorlagen sind bei der Erstellung oder Bearbeitung immer entsprechend zu dokumentieren. Dies erhöht einerseits die Wartbarkeit der Vorlage selbst und andererseits wird damit der Anwender einer Vorlage bei der Einbindung auf einer Seite unterstützt.
<!--* Beispiel 1: [[Vorlage:Team]]: Neben den einleitenden Bemerkungen sind ein Abschnitt zur Verwendung und eine Vorschau mit einigen Anwendungsbeispielen enthalten. Die Verwendung der Vorlage ist ausführlich anhand mehrerer Anwendungsszenarien erläutert.-->
{{#vardefine:countExample|{{#expr:{{#var:countExample}} + 1}} }}
* Beispiel
Bei Erstellung einer Vorlage sind die folgenden Informationen anzugeben:
|