Wikipedia:WikiProjekt Vorlagen/Anleitung: Erstellen einer Infobox

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Abkürzung: WP:IBA
 

Am einfachsten ließe sich eine Infobox mit der Vorlage:Infobox erstellen, die aber an bestimmten Stellen zu Engpässen führen könnte.

Grundgerüst[Quelltext bearbeiten]

Generell ist eine Infobox eine „konfigurierbare Tabelle“. Jeder Infoboxquelltext beginnt deshalb mit dem Tabellengerüst, das dann nach und nach gefüllt wird:

<onlyinclude>{| class="float-right wikitable infobox" id="vorlage-infobox-Name" summary="Infobox Name" style="Tabellen-Attribute"
...
|}</onlyinclude>

{{Dokumentation}}

Hier wird eine Tabelle mit {| mit den CSS-Klassen wikitable, infobox und float-right erstellt. Diese CSS-Klassen dienen erstens dazu, der Infobox das übliche Aussehen einer Tabelle in der Wikipedia zu geben, und zweitens, die Tabelle an den rechten Seitenrand zu schieben. Manchmal sind noch weitere Stil-Attribute, wie z. B. width:300px; bei sonst zu breiten Tabellen und font-size:90%; bei langen Tabellen, angebracht. Auf weitere inline-CSS-Definitionen ist zu verzichten.

Mit id kann der Infobox ein eindeutiger Name gegeben werden, damit angemeldete Benutzer das Aussehen der Infobox mittels ihrer Skin (voreingestellt vector.css, wählbar in Einstellungen → Aussehen) anpassen können (bis hin zum Verbergen der Infobox). Der Bezeichner darf nur große und kleine Zeichen von A bis Z, Ziffer, Minuszeichen und Unterstriche enthalten und muss mit einem der vorgenannten Buchstaben beginnen.

Mit summary werden Screenreader unterstützt. Die Zusammenfassung erleichtert Sehbehinderten das Erkennen der Infobox.

Mit {{Dokumentation}} wird die Dokumentation eingebunden. Sie enthält die Metadaten (Kategorien und gelegentlich Interwiki-Links). Siehe dazu auch die Vorlage:Dokumentation. Kategorisiert wird in Unterkategorien der Kategorie:Vorlage:Infobox.

Namensgebung[Quelltext bearbeiten]

  • Der Seitenname jeder Infobox beginnt mit Vorlage:Infobox und einem Leerzeichen.
  • Darauf folgt eine selbsterklärende und präzise Beschreibung, zu welchen Artikelthemen die Infobox passt.
  • Die Beschreibungskomponente beginnt mit einem Großbuchstaben oder seltener einer Ziffer; nicht aber mit Kleinbuchstaben.
  • Die Beschreibungskomponente steht in der Regel im Singular, wie auch die Infobox einen einzelnen Artikelgegenstand beschreibt (Wikipedia:Singularregel).
  • Beispiel: Vorlage:Infobox Griechischer Wein

Titel[Quelltext bearbeiten]

|- Zeilen-Attribute
!colspan="2"| {{#if: {{{Name|}}}|{{{Name}}}|{{PAGENAME}} }}

Ein gängiges Attribut für die Überschriftenzeile ist class="hintergrundfarbe6", was der Zeile einen bläulichen Hintergrund verleiht. Siehe dazu auch Hilfe:Farbe. Aber bitte beachte, dass allzu bunte Infoboxen nicht gerne gesehen sind und von manchen sogar als „Klicki-Bunti“ bezeichnet werden.

Parameter[Quelltext bearbeiten]

Da Infoboxen Schablonen sind, die ausgefüllt werden müssen, brauchen sie Parameter, die die Einträge der einzelnen Zeilen darstellen. Die Parameter sollten möglichst auf Deutsch und kurz, aber selbstsprechend sein. Es sollte auf Sonderzeichen wie ä, ö, ü und ß verzichtet werden, da sie nicht auf allen Tastaturen vorhanden sind. Eine echte Namenskonvention gibt es nicht, jedoch sollte ein Schema (zum Beispiel Unterstriche statt Leerzeichen, CamelCase u. Ä.) für eine Vorlage konsequent durchgehalten werden.

Optionale Zeile[Quelltext bearbeiten]

Oftmals gibt es Einträge in einer Infobox, die nur unter bestimmten Umständen auszufüllen sind – weil man den passenden Wert nicht weiß oder einfach kein Wert zutreffend ist –, wobei es dann nötig wird, die unausgefüllte Zeile zu verstecken. Dies geht mit der #if-Funktion:

|- Zeilen-Attribute
{{#if:{{{Parameter-X|}}} |
{{!}} Feld {{!}}{{!}} {{{Parameter-X}}}
}}

Falls hier der Parameter-X gar nicht oder leer übergeben wurde, wird der Text hinter dem nächsten senkrechten Strich („|“) nicht eingebunden. {{!}} wird im geeigneten Moment zu einem senkrechten Strich der Tabellensyntax. Man kann nicht direkt „|“ schreiben, da der senkrechte Strich das Trennzeichen für die Parameter der if-Funktion ist. Deshalb muss man auch jeden senkrechten Strich im Text so umschreiben.

Bilder in Infoboxen[Quelltext bearbeiten]

Es ist nicht üblich, Infoboxen übermäßig zu bebildern, jedoch kann ein großes thematisch passendes Bild eine Infobox schon ansehnlicher machen. Zum Beispiel sollten Infoboxen zu Hunderassen auch ein Bild dieser Rasse enthalten. Für gewöhnlich ist das Bild der erste Eintrag einer Infobox unter der Überschrift.

|- Zeilen-Attribute
{{#if:{{{Bild|}}} |
{{!}} colspan="2" {{!}} [[Datei:{{{Bild}}}|rand|center|{{#if:{{{Bildbreite|}}} | {{{Bildbreite}}} | 250x200px}}|alternativtext=|{{{Bildunterschrift}}}]] <p> {{{Bildunterschrift}}} </p>
}}

Hiermit kann ein Bild mit dem Parameter Bild und einer Bildunterschrift eingebunden werden. Der Parameter Bildbreite ist hier optional. Die vorbestimmte Bildbreite sollte so breit sein wie die Infobox. Breiten von über 250 Pixeln sollten aber vermieden werden. Es sollte auch immer eine maximale Höhe angegegeben werden. Der Alternativtext sollte leer sein, da er in der nächsten Zeile wiederholt wird. Zur Syntax für die Einbindung von Bildern siehe Hilfe:Bilder.

Manchmal wird auch eine zweite Überschrift eingefügt, wenn ein Bild vorhanden ist, die zum Beispiel so aussehen könnte:

|- Zeilen-Attribute
{{#if:{{{Bild|}}} |
{{!}} colspan="2" style="text-align:center; font-size:90%;" {{!}}
[[Datei:{{{Bild}}}|rand|{{#if:{{{Bildbreite|}}} | {{{Bildbreite|}}} | 250x200px}}|alternativtext=|{{{Bildunterschrift}}}]] <br /> {{{Bildunterschrift}}}
{{!}}- class="hintergrundfarbe5"
! colspan="2" ! Daten
}}

Finden fehlender Zeilen[Quelltext bearbeiten]

Wie die if-Funktion in vielen Programmiersprachen, ist auch mit if in MediaWiki ein Wenn-Dann-Sonst-Block möglich. Das lässt sich auch zur Wartung von Vorlagen benutzen. Wie im vorigen Absatz beschrieben, ist der senkrechte Strich ein Parametertrenner. Der Text hinter dem ersten Strich, wird im günstigen Fall („dann“, „then“) eingebunden. Falls noch ein zweiter Strich mit Text dastehen sollte, wird dieser im ungünstigen Fall („sonst“, „else“) eingebunden.

|- Zeilen-Attribute
{{#if:{{{Parameter-X|}}}
| {{!}} Feld {{!}}{{!}} {{{Parameter-X}}}
| <span style="display:none">[[Vorlage:Infobox Mein-Test/Wartung/Parameter-X fehlt]]</span>
}}

Wenn diese Wartungsfunktionalität verwendet werden soll, wird eine Unterseite /Wartung angelegt, auf der eine Übersicht zu den relevanten Linklisten gegeben wird. Die bereits eingebundene Vorlage:Dokumentation hilft einem bei der Anlage.

Koordinaten[Quelltext bearbeiten]

Lage

|- Zeilen-Attribute
{{#if: {{{Breitengrad|}}} |
{{!}} style="Attribute des Feld-Bezeichners" {{!}} {{CoordinateSYSTEM|{{{Region-ISO|}}}| <!-- Alternativbezeichnung -->}}
{{!}} style="Attribute des Feld-Werts" {{!}} }}{{Coordinate
 |text={{#if:{{{Breitengrad|}}}|/}}
 |article={{#if:{{{Nebenbox|}}}||/}}
 |NS={{{Breitengrad|}}}
 |EW={{{Längengrad|}}}
 |type= <!-- Vorlage:Coordinate#type -->
 |elevation={{{Höhe|}}}
 |pop={{{Einwohner|}}}
 |region={{{Region-ISO|}}}
 |dim= <!-- Vorlage:Coordinate#dim -->
 |name={{#if:{{{Nebenbox|}}}| {{{Name|}}} }}
}}

Fügt die Koordinaten (im default-Format) in die Infobox ein oder erzeugt einen Lagewunsch.

Positionskarte

|- style="text-align:center;"
{{#if: {{{Breitengrad|}}} |
{{!}} colspan="2" {{!}} {{Coordinate
 |map=none
 |NS={{{Breitengrad|}}}
 |EW={{{Längengrad|}}}
 |type= <!-- Vorlage:Coordinate#type -->
 |elevation={{{Höhe|}}}
 |pop={{{Einwohner|}}}
 |region={{{Region-ISO|}}}
 |dim= <!-- Vorlage:Coordinate#dim -->
 |name={{#if:{{{Name|}}}|{{{Name}}}|{{PAGENAME}} }}
 }}
}}

Für individuellere Wünsche

...
{{!}} colspan="2" {{!}} {{Positionskarte |{{Info ISO-3166-2|code={{{Region-ISO|}}}|map}}
 |border     =  <!-- Vorlage:Positionskarte#Benutzung -->
 |background =  <!-- Vorlage:Positionskarte#Benutzung -->
 |caption    =  <!-- Vorlage:Positionskarte#Benutzung -->
 |float      =  <!-- Vorlage:Positionskarte#Benutzung -->
 |width      =  <!-- Vorlage:Positionskarte#Benutzung -->
 |Alternativkarte =  <!-- Vorlage:Positionskarte#Benutzung -->
 |label      =  <!-- Vorlage:Positionskarte#Benutzung -->
 |label_size =  <!-- Vorlage:Positionskarte#Benutzung -->
 |position   =  <!-- Vorlage:Positionskarte#Benutzung -->
 |wrap       =  <!-- Vorlage:Positionskarte#Benutzung --> 
 |mark       =  <!-- Vorlage:Positionskarte#Benutzung -->
 |marksize   =  <!-- Vorlage:Positionskarte#Benutzung -->
 |marktarget =  <!-- Vorlage:Positionskarte#Benutzung -->

 <!-- Koordinaten -->

 |lat={{{Breitengrad|}}}
 |long={{{Längengrad|}}}
 |type= <!-- Vorlage:Coordinate#type -->
 |elevation={{{Höhe|}}}
 |pop={{{Einwohner|}}}
 |region={{{Region-ISO|}}}
 |dim= <!-- Vorlage:Coordinate#dim -->
 |name= <!-- Vorlage:Coordinate#name -->
 }}
...

Nicht vergessen, die Vorlage in Kategorie:Vorlage:mit Koordinate einzutragen.

Vorschau[Quelltext bearbeiten]

Meist ist es die günstigste Lösung, auf der Dokumentationsseite eine ausgefüllte echte Infobox aus einem realen Artikel einzubinden. Die sonst automatisch erfolgende Anzeige wird im Gegenzug mittels <includeonly> aus der normalen Präsentation ausgeblendet.

Zuweilen ist das nicht möglich, weil die Programmierung sich auf Eigenschaften stützt, die nur in einem echten Artikel vorhanden sind. In diesen Fällen könnte man notfalls die normale Programmierung umgehen und dafür etwa wie folgt eine „Quasi-Vorschau“ auf der Vorlagenseite anzeigen. Dazu muss man ungefähr wie folgt bei den optionalen Zeilen ergänzen:

|- Zeilen-Attribute {{#if:{{{Parameter-X<includeonly>|</includeonly>}}} | {{!}} Feld {{!}}{{!}} {{{Parameter-X}}} }}

So wird die Zeile erst beim Einbinden im Artikel versteckt. Achtung: <includeonly> sollte nicht mit dem <onlyinclude>, das das Tabellengerüst umspannt, verwechselt werden.

Zeile für Listen[Quelltext bearbeiten]

Soll ein Parameter eine Liste aufnehmen, deren Einträge durch führende Sternchen (*) formatiert werden, so darf dieser nicht in einer Zeile folgender Form stehen:

{{!}} Feld {{!}}{{!}} {{{Parameter-X}}}

Statt dessen muss die Zeile einen Zeilenumbruch enthalten und sollte obenbündig ausgerichtet sein:

{{!}} style="vertical-align:top;" {{!}} Feld {{!}}{{!}}
{{{Parameter-X}}}

Eine automatische Überprüfung, ob der Parameter eine Liste enthält, ist mithilfe folgenden Konstrukts realisierbar:

{{#if: {{{Parameter-X<includeonly>|</includeonly>}}} |
 {{#ifeq: {{Str left|{{{Parameter-X}}} }} | *
  |{{!}} style="vertical-align:top;" {{!}}
Feld
{{!}}
{{{Parameter-X}}}
  |{{!}} Feld
{{!}} {{{Parameter-X}}}
 }}
}}

Der Zeilenumbruch beim Feldnamen sorgt für eine Erstellung eines Absatzes in der Tabellenzelle, welcher einen ähnlichen Außenabstand zum Zellenrahmen hat wie ein Listenelement. Parameter, die Listeneinträge erlauben, sollten in der Dokumentation dementsprechend gekennzeichnet werden.

Statt der häufigen Anwendung des style="vertical-align:top;"-Konstrukts für mehrere einzelne Zellen sollte die Tabelle in ihrer Kopfzeile mit der Klasse toptextcells versehen werden.

Automatische Kategorisierung[Quelltext bearbeiten]

Manchmal kann es praktisch sein, dass eine Infobox einen Artikel automatisch einer Kategorie zuweist. Die Vorlage:Infobox Chemisches Element ordnet zum Beispiel entsprechende Artikel in der Kategorie:Radioaktiver Stoff ein.

Wenn eine Kategorie nur dann eingebunden werden soll, wenn ein bestimmter Parameter übergeben wurde, kann man einfach am Ende der optionalen Zeile [[Kategorie:Irgendwas]] hinzuschreiben:

|- Zeilen-Attribute
{{#if:{{{Parameter-X|}}} |
{{!}} Feld {{!}}{{!}} {{{Parameter-X}}} {{#ifeq:{{NAMESPACE}}|{{ns:0}}|[[Kategorie:Irgendwas]]}}
}}

Durch das ifeq wird sichergestellt, dass nur Artikel in die Kategorie einsortiert werden. Dadurch können Benutzer auf einer Unterseite Artikel vorschreiben und auch direkt die Infobox verwenden, ohne dass die Baustelle in der Kategorie auftaucht. ({{ns:0}} ist der Artikelnamensraum, {{NAMESPACE}} der Namensraum, in dem die Vorlage eingebunden wird.)

Für den alternativen Fall geht das natürlich ebenso:

|- Zeilen-Attribute
{{#if:{{{Parameter-X|}}}
 | {{!}} Feld {{!}}{{!}} {{{Parameter-X}}}
 | {{#ifeq:{{NAMESPACE}}|{{ns:0}}|[[Kategorie:Irgendwas]]}}
}}

Der zweite Fall lässt sich gut im Zusammenhang mit Wartungskategorien nutzen. Aber beachte: Es dauert mitunter einige Stunden, bis die Änderungen an der Infobox auch in den Artikeln nachkommen.

Wenn eine Infobox jedes Mal eine bestimmte Kategorie mit einbinden soll, so schreibe sie bitte an das Ende des Gerüsts:

<onlyinclude>{| …
 …
|}<includeonly>{{#ifeq:{{NAMESPACE}}|{{ns:0}}|
[[Kategorie:Irgendwas]]
}}</includeonly></onlyinclude>

Eine Infobox, die Artikel automatisch in Kategorien einsortiert, muss wiederum selber in die Kategorie:Vorlage:mit Kategorisierung einsortiert werden.

Dokumentation[Quelltext bearbeiten]

Jede Infobox muss dokumentiert werden, damit sie für jeden leicht anwendbar ist. Vorlagen dienen neben der Vereinheitlichung vor allem auch der Vereinfachung. Jede ordentliche Dokumentation verfügt über folgende Abschnitte:

  • Einleitung, wofür die Infobox gedacht ist,
  • eine leere Kopiervorlage,
  • eine Erklärung der einzelnen Parameter
  • und ein Beispiel.

Bei der Einleitung braucht man keine Romane zu schreiben; kurz und deutlich ist am besten. Wenn sie ganz fehlt, sollte der Zweck der Infobox jedoch aus den Parametern oder dem Beispiel ersichtlich sein. Ein gutes Beispiel wäre: „Diese Vorlage enthält eine Infobox für Hunderassen.“

Die leere Kopiervorlage ist absolute Pflicht für Infoboxen. Sie ist das Gerüst, in das dann die Werte eingetragen werden. Beispiel:

<pre style="white-space:pre-wrap;">
{{Infobox Hunderasse
 | Name               = 
 | Klassifikation FCI = 
 | Größe              = 
}}
</pre>

Bei der Erklärung der Parameter sollten Pflichtparameter (solche, deren Zeilen nicht ausgeblendet werden) besonders hervorgehoben werden. Die Erklärungen dürfen ruhig stichpunktartig sein. Bloß sollte jeder Parameter erklärt werden, möglichst aus Anwendersicht.

Mit einem Beispiel kann man dem Benutzer die Vorlage näher bringen, ihm zeigen, wie sie aussieht und die eventuelle Scheu vor der ungewöhnlichen Syntax von MediaWiki nehmen.

Da die Infoboxen in der Regel für enzyklopädische Artikel bestimmt sind, und diese zunehmend mit dem VisualEditor bearbeitet werden, sollte auch eine Deklaration für TemplateData auf der Doku-Seite nicht fehlen.

XML-Dokumentation[Quelltext bearbeiten]

Seit einiger Zeit kann man Vorlagen auch mit einer handlichen Oberfläche füllen. Der „Vorlagenmeister“ nimmt sich die Daten von der Unterseite /XML und zeigt anhand jener Daten ein Formular an. In dieses Benutzerskript kann man die Kopiervorlage eingeben und es erstellt daraus eine XML-Dokumentation sowie TemplateData.

Es klappt nicht?[Quelltext bearbeiten]

Infoboxen sind immer noch chinesische Schriftzeichen für dich?

Es ist noch kein Meister vom Himmel gefallen! Probiere ruhig eine Weile herum, aber bitte tue dies in keinem Fall mit bereits genutzten Infoboxen! Am besten legst du dir auf einer Unterseite deiner Benutzerseite eine Kopie (z.B. Spezial:Mypage/Infobox) an. Wenn du noch Hilfe brauchst oder auch nur einen Tipp oder Denkanstoß, dann wende dich einfach an die Vorlagenwerkstatt. Falls du nicht willst, dass wir ein Problem für dich lösen, sondern dir nur einen Tipp geben, sag das bitte vorher.

Du meinst, hier in der Anleitung fehlt noch ein wichtiger Punkt oder etwas sollte tiefergehend erläutert werden? Dann lass es uns wissen und schreibe es uns in der Werkstatt! Wir werden versuchen, deinen Wünschen gerecht zu werden.

Weitere Informationen[Quelltext bearbeiten]