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.

Attribute
Lasst uns ein anderes Beispiel ansehen:

Dieses Beispiel lädt die Attribute ab und übergibt sie dem Tag, zusammen mit ihren Werten. Es ist ziemlich offensichtlich, dass dies eine flexible Spezifikation von neuen, individuellen Tags ermöglicht. Sie könnten zum Beispiel eine Tag-Erweiterung definieren, die es einem Benutzer ermöglicht ein Kontaktformular auf ihrer Benutzerseite anlegen zu können, durch Verwendung mit so etwas wie &lt;emailform to="User" email="user@foo.com" /&gt;.

Es ist eine wahre Fülle von Tag-Erweiterungen für MediaWiki verfügbar, von denen einige auf dieser Seite aufgelistet sind, andere können über eine schnelle Websuche gefunden werden. Während eine Reihe von diesen, ganz für ihren Anwendungsfall spezialisiert sind, gibt es sehr viele beliebte und gut genutzte Erweiterungen, die variierende Grade an Funktionalität bereitstellen.