Vorlage:?

Aus RPG-Dev-Basis
Wechseln zu: Navigation, Suche
  Achtung: Du befindest dich in der RPG-Dev-Basis, diese Seite ist Teil der Kategorie RPG-Dev-Wiki:Basis. Änderungen an dieser Seite werden in viele RPG-Dev-Clients nach einem Update ebenfalls übernommen!
[Bearbeiten] Template-info.svg Vorlagen-Dokumentation

Diese Vorlage dient dazu, einen Eigenschaftswert des gleichen oder eines anderen Artikels anzuzeigen. Die Vorlage erspart dabei Schreibarbeit und die komplexere Abfragesyntax der Semantic MediaWiki Parser-Funktionen #show oder #ask. Der Bearbeitungs-Text wird dadurch übersichtlicher. Besonders um Eigenschaften des aktuellen Artikels auszugeben ist die Vorlage in dieser Hinsicht nützlich. Standardmäßig wird die Ausgabe verlinkt wenn die angefragte Eigenschaft (auch Property genannt) vom typ Attribut:Seite ist.

Für nicht verlinkte Ausgaben dient die Vorlage Vorlage:?!, die auf dieser Seite parallel dokumentiert ist.

Inhaltsverzeichnis

Kopiervorlage

Für diese Vorlage existiert eine spezielle von der normalen Vorlagen-Syntax abweichende Syntax:

Vorlage:?Vorlage:?!
<?Eigenschaft>
<?Eigenschaft::Seite>
<?Eigenschaft::R:Quest-Rolle>
<?!Eigenschaft>
<?!Eigenschaft::Seite>
<?!Eigenschaft::R:Quest-Rolle>

Anwendung

Die Datenabfragen die durch die Vorlagen Vorlage:? und Vorlage:?! ermöglicht wird sollte dazu verwendet werden, um im Wiki Redundanzen zu vermeiden. Im RPG-Dev-Wiki existiert für die Verwendung dieser Vorlagen eine besondere Syntax: <?[!]Eigenschaft[::[:]Seite|::Referenz]>

Der Unterschied zwischen der Vorlage:? und Vorlage:?! ist dass Vorlage:? eine formatierte Ausgabe macht, die die Lesbarkeit und den Informationsgehalt im Text steigert. Vorlage:?! sollte eigentlich eher selten sinnvoll Anwendung finden. Hier wird die abgefragte Eigenschaft einfach als Text ohne weitere Formatierung ausgegeben.

Eigenschaften ausgeben

Um beispielsweise auf einer NPC-Seite den Namen des dort definierten NPCs auszugeben kann <?Name> verwendet werden. Soll der Name des NPCs der auf der Seite Bösewicht definiert ist auf einer anderen Seite ausgegeben werden, so kann dafür <?Name::Bösewicht> verwenden.

Referenz-Eigenschaften ausgeben

Eine besondere Anwendung ist die Ausgabe von Eigenschaften die auf einer anderen Seite definiert sind, wobei die zu verwendende Seite in einer Eigenschaft der aktuellen Seite gespeichert ist. Solche Eigenschaften wären z.B. die Rollen-Eigenschaften auf Quest-Seiten wie R:Bauer. R:Bauer enthält einen Verweis auf die Seite auf der ein NPC behandelt wird. In diesem Fall könnte der Name dieses NPCs durch <?Name::R:Bauer> abgefragt werden. Alternativ könnte auch <?Name::<?R:Bauer>> verwendet werden.

Ein weiteres Anwendungsbeispiel wäre ein NPC npcX der ein Attribut Volk besitzt. Möchte man nun den Namen des Volk des NPCs ausgeben, so kann dafür <?Name::Volk::npcX> verwendet werden. Alternativ könnte auch <?Name::<<?Volk::npcX>> verwendet werden.

Da es aufgrund der vereinfachten Syntax keinen genauen Anhaltspunkt dafür gibt ob eine Seite oder ein Attribut hinter dem :: gefragt sind muss im Falle dass explizit das Attribut einer Seite abgefragt werden soll ein weiterer : verwendet werden, z.B. <?Name:: :Held> für den Fall dass auf der Seite ein Attribut Held existiert, jedoch der Name der Seite Held in Erfahrung gebracht werden soll. Dies ist eine Ausnahme die in der Praxis äußerst selten auftreten sollte.



Anwendung in Vorlagen (für Entwickler)

Dieser Abschnitt wendet sich an Entwickler die RPG-Dev-Wiki verbessern oder modifizieren. Soll die Vorlage:? bzw. Vorlage:?! in der Vorlagenprogrammierung verwendet werden, so sollte auf die besondere Syntax verzichtet und anstelle dessen die normale Vorlagen-Syntax eingesetzt werden.

Kopiervorlage für Entwickler

Vorlage:?Vorlage:?!
{{?|Eigenschaft}}
{{?|Eigenschaft|von=Seite}}
{{?|Eigenschaft|von Ref=lokaler Eigenschaft}}
{{?!|Eigenschaft}}
{{?!|Eigenschaft|von=Seite}}
{{?!|Eigenschaft|von Ref=lokaler Eigenschaft}}

Zusätzliche Parameter für Entwickler

Die Vorlage erlaubt einige weitere Parameter, die nur in der Vorlagenprogrammierung vernünftig Anwendung finden. Grundsätzlich werden alle Parameter der Parser-Fnktion #show unterstützt. Weitere Parameter:

Fett markierte Parameter sind Pflichtangaben, die unbedingt einen Wert enthalten müssen, um die Vorlage sinnvoll verwenden zu können.

Parameter Beschreibung
1 Eigenschaft die abgefragt werden soll.
von Seite von der die in 1 angegebene Eigenschaft abgefragt werden soll. Wenn keine Angabe dann aktuelle Seite (entspricht dann Vorlage:?.
von Ref Alternative zu von. Ermöglicht eine Eigenschaft anzugeben, die auf der aktuellen Seite definiert ist. Der Inhalt dieser Eigenschaft sollte eine Referenz auf eine andere Seite in dem Wiki sein, von dieser Seite wird dann die in 1 angegebene Eigenschaft abgefragt.
wenn leer Text der ausgegeben wird wenn die gesuchte Eigenschaft auf der angegebenen Seite nicht existiert oder leer ist.
link SMW #ask- und #show-Parameter, jedoch erweitert um den Wert topic. Folgende Werte sind möglich:
  • all: Ausgabe wird verlinkt wenn angegebene Eigenschaft vom Typ Seite. (standard in Vorlage:?)
  • none: Ausgabe wird in keinem Fall verlinkt. (standard in Vorlage:?!)
  • topic: Verlinkt die Ausgabe auf die in von angegebene bzw. die in von Ref ermittelte Seite.
Query-Info wenn true dann werden abstrakte Ausgaben aktiviert wenn die abgefragte Eigenschaft nicht gesetzt ist und über wenn leer kein Alternativtext angegeben wird. Außerdem wird für erfolgreiche Ausgaben eine bestimmte Formatierung aktiviert die kennzeichnet dass es sich dabei um eine Abfrage handelt. Standardmäßig true in Vorlage:?, deaktiviert in Vorlage:?!.
Cache wenn true wird der Cache für Abfragen aktiviert. Das bedeutet dass für Attribute der aktuellen Seite Variablen nach dem Muster <GLOBAL>Eigenschaft anstelle einer echten Abfrage ausgegeben werden. Das ermöglicht dass soeben erst gesetzt Eigenschaften z.B. über Vorlage Vorlage:NPC bereits nach dem ersten speichern ausgegeben werden können und nicht erst nach dem zweiten speichern bzw. page-purge, wenn Semantic MediaWiki die Eigenschaft über ein Query erfassen kann. Standardmäßig true.


Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
RPG-Dev-Wiki
RPG-Dev-Basis
Werkzeuge