OmegaWiki

Bearbeiten

Mehrsprachigkeit

Bearbeiten
  1. Wikioberfläche
  2. Babel
  3. Interwikilinks

Vorlagen

Bearbeiten

Vorlagen sind Wikiseiten. Sie werden mit

{{vorlagenname}}
{{vorlagenname|parameter|parameter| … }}

in andere Seiten eingebunden. Der vorlagenname benennt die Seite im Namensraum „{{ns:Template}}“, die eingebunden wird. Beim Einbinden „verschwindet“ die komplette doppelte geschweifte Klammer aus der einbindenden Seite und wird ersetzt durch den Inhalt der Seite „{{ns:Template}}:vorlagenname“. Sollten dem Vorlagenaufruf in der einbindenden Seite Parameter mitgegeben worden sein, werden diese beim Einbinden ersetzt, sofern sie in der Form „ {{{parameter}}}

Damit kann man zum Beispiel erreichen, daß man nur einmal tippen muß, was aber nachher mehrfach angezeit wird. Schreibt man in die Seite „{{ns:Template}}:in-um-herum“ hinein:

In {{{stadt}}}, um {{{stadt}}}, und um {{{stadt}}} herum.

dann kann man mit:

{{in-um-herum|stadt=Ulm}}

den Text „In Ulm, um Ulm, und um Ulm herum.“ generieren. Das gleiche selbstverstänlich auch für Köln, Amsterdam un Hintertupfingen.

Weiteres und Genaueres findet man auf den Hilfeseiten zu Vorlagen.

Parserfunktionen

Mit Parametern kann man eine Menge mehr anfangen, als sie nur als Text ausgeben zu lassen. Man kann mit ihnen „rechnen“, sie abfragen und in Abhängigkeit vom aktuellen Wert, oder vom Vorhandensein eines Parameters unterschiedliche Dinge tun, und Ähnliches. Auch dazu gibt es Hilfe, die ist aber lange schon unglücklich organisiert und auf verschiedene Seiten und Wikis verteilt, was öfters mal geändert wird. Meta- und das MediaWiki-Wiki sind die Wikis, wo man jeweils nach „parserfunction“, „parserfunctions“, suchen muß, um einen Teil zu finden, der Rest ist dann von diesen Seiten aus verlinkt. Zur Zeit sind interessant:

Fallunterscheidungen

Fallunterscheidungen sind zum Beispiel gut, um kleine Unterschiede in ansonsten gleichen Vorlagen zu realisieren, für die mehrere eigene Vorlagen wegen der vielen Wiederholungen unpraktisch beim Aktualisieren wären. Ein Beispiel wäre ein Kasten für Schlösser/Burgen/Ruinen der nur im Fall „Ruine“ eine Zeile „zerstört seit [[Jahr]]“ enthalten soll. Ein anderer Grund für eine Vorlage für mehrer Fälle kann sein, daß man dem Benutzer nicht zumuten will, sich eine gößere Menge an Vorlagennamen zu merken. Im Innern einer Vorlage kann man mit:

{{#case|{{{Fall}}
       |const1=…
       |const2=…
       |const3=…
       |#default= … }}

Unterschiede realisieren. Mit „ Fall “ ist hier ein Parametername gemeint, die const1 bis const3 sind die verschiedenen möglichen Werte, die der Paramter haben kann (z. B. „ Burg “, „ Schloß “, „ Ruine “), und an die Position der jeweiligen „ … “ schreibt man das, was die Vorlagen im jeweiligen Fall ausgeben soll. Hinter „ #default “ steht dieses für alle übrigen, nicht ausdrücklich angefühten Werte.

In vielen Fällen lassen sich solche Unterscheidungen aber eleganter, übersichtlicher und vielfach serverlastfreundlicher über eingeschachtelte Vorlagen realisieren, zwei Ideen, was anstelle von „{{#case: …“ im innern einer Vorlage stehen könnte:

{{{{{Fall}}}| … }}
{{Name{{{Fall}}}| … }}

Der zweite Weg ist im Prinzip kaum vom ersten verschieden, bis darauf, daß die zusammengehörigen Vorlagen in den Listen nach dem Alphabet zusammen stehen und sich auch leichter alle gemeinsam über Spezial:Präfixindex finden lassen.