Manual:Tag extensions/de

Individuelle Projekte werden es häufig nützlich finden, den eingebauten Wiki-Markup mit zusätzlichen Fähigkeiten, ob einfache String-Verarbeitung oder voll ausgereifte Informationsgewinnung zu erweitern. Tag-Erweiterungen erlaubt es Benutzern, neue benutzerdefinierte Tags zu erstellen, die genau nur das tun. Zum Beispiel, könnte man eine Tag-Erweiterung dazu verwenden, um einen einfachen &lt;donation /&gt;-Tag einzuführen, der ein Spendenformular auf einer Seite anlegt. Erweiterungen zusammen mit Parserfunktionen und Hooks, sind die effektivste Art und Weise, um die Funktionalität von MediaWiki zu ändern oder zu verbessern. Um vorhandene Erweiterungen zu sehen, welche von anderen MediaWiki Benutzern entwickelt wurden, werfen Sie einen Blick auf die Erweiterungsmatrix. Sie sollten immer die Erweiterungsmatrix überprüfen, bevor Sie damit anfangen, an einer Erweiterung zu arbeiten, um sicherzustellen jemand anderes hat nicht genau das getan, was Sie zu tun versuchen.

Eine einfache Tag-Erweiterung besteht aus einer Rückruffunktion, die an den Parser eingehakt ist, so dass wenn der Parser läuft, es alle Instanzen von einem bestimmten Tag finden und ersetzen wird, durch den Aufruf der entsprechenden Rückruffunktion, um das tatsächliche HTML zu rendern.

Beispiel
Dieses Beispiel registriert eine Rückruffunktion für den &lt;sample&gt;-Tag. Wenn ein Benutzer diesen Tag zu einer Seite wie diese hinzufügt:   ruft der Parser die wfSampleRender-Funktion auf und übergibt drei Argumente:


 * $input : Eingabe zwischen den &lt;sample&gt; und &lt;/sample&gt; Tags oder null, wenn das Tag "geschlossen" ist, z.B. &lt;sample /&gt;
 * $args : Tag Argumente, die wie HTML-Tag Attribute eingegeben werden, dies ist ein assoziatives Array, das von Attribut-Namen indiziert wird.
 * $parser : Die Stammparser (ein Parserobjekt); weiter fortgeschrittenere Erweiterungen nutzen dies, um den kontextuellen Titel zu erhalten, Wikitext zu analysieren (parse), Träger (braces) zu erweitern, Linkbeziehungen und Abhängigkeiten registrieren, etc.
 * $frame : Die übergeordneten Frame (ein PPFrame Objekt). Dies wird zusammen mit $parser ververwendet, um den Parser mit vollständigeren Informationen über den Kontext, in dem die Erweiterung aufgerufen wurde.