Vorlage:Abfrage Briefspieltexte Kosch/Doku: Unterschied zwischen den Versionen

Aus KoschWiki
Zur Navigation springen Zur Suche springen
Kunar (D | B)
KKeine Bearbeitungszusammenfassung
Kunar (D | B)
KKeine Bearbeitungszusammenfassung
 
Zeile 44: Zeile 44:
*[[Vorlage:Abfrage Briefspieltexte Ort]]
*[[Vorlage:Abfrage Briefspieltexte Ort]]
*[[Vorlage:Abfrage Briefspieltexte Rest]]
*[[Vorlage:Abfrage Briefspieltexte Rest]]
*[[Vorlage:Zeitraumübersicht Kosch]]


==Technische Dokumentation==
==Technische Dokumentation==

Aktuelle Version vom 28. März 2022, 11:02 Uhr

Die ist die Dokumentation für die Vorlage:Abfrage Briefspieltexte Kosch. Sie wird dort ebenfalls angezeigt, weil die Dokumentation wie eine eigene Vorlage funktioniert und daher einfach eingebunden werden kann.

Was macht diese Vorlage?

Mit dieser Vorlage lassen sich Listen von Briefspieltexten in Form von Kacheln generieren, die auf bis zu drei Spalten verteilt werden. Sie ist ein Koscher Ersatz für Vorlage:Abfrage Briefspieltexte.

Wesentliche Unterschiede:

  • keine Abfragen für bedingte Formatierung des Hintergrundes für Haupt- und Nebendarsteller
  • Kosch-Kurier-Angabe wird abgefragt
  • neueste Texte zuerst (mit Möglichkeit, das zu ändern)
  • niedrigere maximale Anzahl der Abfrageergebnisse (mit Möglichkeit, diese zu steuern)

Die Vorlage

  • durchsucht die Kategorie:Briefspielindex
  • filtert dabei eventuell auf weitere Bedingungen, die als Parameter angegeben werden können
  • listet in einem gruppierenden Element Wappen, Name, Kapitelname, Kurzbeschreibung, Datum, Autor(en) und Kosch-Kurier-Ausgabe auf, wobei nach dem aventurischen Datum absteigend sortiert wird und die Abfrage auf die letzten 12 Texte beschränkt wird.
  • Mit Hilfe von weiteren Parametern können sowohl die Sortierreihenfolge als auch die Anzahl der Texte angepasst werden.

Wie verwendet man diese Vorlage?

Die Vorlage verwendet Parameter, welche mit Standardwerten versehen werden, falls man nichts weiter angibt.

Im einfachsten Fall reicht es also aus, folgenden Code in eine Seite einzufügen:

{{Abfrage Briefspieltexte Kosch}}

Ein Beispiel für den umgekehrten Extremfall, dass alle Parameter angegeben werden:

{{Abfrage Briefspieltexte Kosch|Abfrage=[[Briefspieltext mit::{{FULLPAGENAME}}]]|Maximale Anzahl=60|Sortierung=aufsteigend}}

  • Man kann jeden Parameter unabhängig von den anderen verwenden, also auch nur einen oder zwei angeben und den Rest weglassen.
  • Es spielt keine Rolle, in welcher Reihenfolge man die Parameter angibt.

Parameter:

  • Abfrage - Standardwert ist nichts. Es muss in jedem Fall eine gültige Abfrage sein. Beispiel: Vorlage:Abfrage Briefspieltexte Kosch/Doku</nowiki> filtert auf alle Briefspieltexte, in denen mit dem Attribut Briefspieltext mit:: auf den vollen Seitennamen verwiesen wird, von dem die Vorlage aufgerufen wird.
  • Maximale Anzahl - Standardwert beträgt 12. Gibt es mehr als diese maximale Anzahl von Briefspieltexten, erscheint in der letzten Zeile der Tabelle unten rechts ein Link auf (… weitere Ergebnisse). Die Idee dahinter: In vielen Fällen reicht ein Dutzend Einträge aus. Liegt die Anzahl der gefundenen Briefspieltexte knapp darüber, ist es praktisch, die Grenze anpassen zu können. Ohne eine automatische Grenze wäre es gefährlich, die Vorlage auszuprobieren, weil das Ergebnis dann aus Hunderten von Briefspieltexten bestehen könnte, was die Seite sehr lang machen und deren Ladezeit ernorm in die Höhe treiben würde.
  • Sortierung Optionen: asc/desc/aufsteigend/absteigend - Standardwert ist "desc". Damit wird eingestellt, ob die Suchergebnisse nach aventurischer Zeit aufsteigend oder absteigend sortiert werden sollen und ob gleichzeitig durch den Filter die ältesten oder jüngsten Texte ausgegeben werden sollen. Dabei sind asc und aufsteigend bzw. desc und absteigend gleichwertig.

Einsatzzweck

Wann immer es darum geht, alle Briefspieltexte zu einem bestimmten Kriterium zu bekommen! Dazu zählen insbesondere folgende Vorlagen:

Technische Dokumentation

Absolut unwichtig für normale Benutzer, nur relevant für Vorlagen-Programmierer. Daher folgt reichlich technisches Vokabular!

Zuerst wird eine Variable namens LetzterTitel mit dem Inhalt Nix definiert. Diese Variable wird später in der Vorlage Vorlage:Abfrage Briefspieltexte Eintrag verwendet!

Danach wird eine Variable namens Reihenfolge über eine switch-Anweisung definiert. Hierbei wird der Wert des Parameters Sortierung ausgewertet - oder desc verwendet, falls dieser nicht gesetzt wurde.

Die Fallunterscheidung läuft wie folgt ab:

  • aufsteigend - verwende asc als Wert
  • absteigend - verwende desc als Wert
  • asc - verwende asc als Wert
  • in jedem anderen Fall - verwende desc als Wert (damit wird abgefangen, dass Leute irgendetwas anderes als die sinnvollen Optionen angeben)

Der Hauptteil der Vorlage besteht aus einer Abfrage. Diese filtert auf die Kategorie:Briefspielindex sowie den Inhalt des Parameters Abfrage.

Mit der Angabe "mainlabel=-" wird die implizite, automatische Ausgabe des Seitentitels standardmäßig unterdrückt. Abgefragt werden:

  • Wappen ist# (das gibt den Namen der Wappendatei zurück - im Unterschied zu "Wappen ist", das das Wappen selbst zurückgibt)
  • Seitentitel (also explizit; aber nur den Namen ohne Link, da mit "#-" abgefragt wird)
  • Kapitelname (der kürzer ausfallen kann als der Seitentitel)
  • Kurzbeschreibung
  • Handlungszeittext ist (das aventurische Datum des Textes; genau so als Attribut gesetzt, daher keine weiteren Formatierungsmöglichkeiten)
  • Briefspieler (wird in den abgefragten Texten über die Vorlage:Briefspieler als Attribut gesetzt)
  • Briefspiel-Zeitindex ist#= (das Datum als Anzahl von Tagen; das gibt den Inhalt ohne Links zurück)
  • Kosch-Kurier ist#= (das gibt den Inhalt ohne Links zurück)

Als Format wird ein Template gewählt. Als Template wird dabei die Vorlage:Abfrage Briefspieltexte Eintrag aufgerufen. Diese Vorlage muss nicht so ähnlich wie die Hauptvorlage heißen; es ist nur sehr sinnvoll, um bei Hunderten von Vorlagen die Übersicht zu behalten. (Zur Funktion dieser Vorlage siehe dort.)

Die Sortierung erfolgt nach dem Attribut "Briefspiel-Zeitindex ist" und zwar in der Reihenfolge, die in der Variable Reihenfolge festgelegt wurde.

Als Begrenzung für die Abfrage wird entweder die Zahl verwendet, die in der Variable Maximale Anzahl festgelegt wurde, oder 12.