WaBis

walter.bislins.ch

Includes

Includes sind Anweisungen an das Wiki, andere Seiten oder Teile von anderen Seiten auf der aktuellen Seite an der Stelle der Include-Anweisung einzufügen. Die Include-Anweisung selbst wird also durch einen Teil einer anderen Seite ersetzt.

Includes können auch verschachtelt werden, d.h. es können auch Seiten eingebunden werden, welche wiederum andere Seiten einbinden. Die maximale Verschachtelungstiefe ist auf 8 begrenzt.

Syntax

{{include|Seite#Teil|Text|Argumente}}
{{:include|Seite#Teil|Text|Argumente}}
{{CodeInclude|Seite#Teil}}
Seite
Seite, die ganz oder teilweise eingefügt werden soll.
#Teil (optional)
Nummer oder Name des Seiten-Teils, der eingefügt werden soll.
Wenn ein Teil mit einem $ beginnt, wird der dahinter stehende Name als URL Parameter Name interpretiert. Der Name wird durch den Wert des entsprechenden URL Parameters ersetzt. Wenn kein solcher URL parameter definiert ist, wird der Name ohne $ als Teil verwendet. Auf diese Weise kann man per URL bestimmte Bereiche eines Includes auswählen. Dies gilt nicht für die CodeInclude Anweisung.
Text (optional)
Text, der unter der eingefügten Seite (zum Beispiel mit einer Tabelle) angezeigt werden soll. Der Text darf auch Links enthalten. Soll kein Text angezeigt werden so kann ein - (Minus-Zeichen), Leerzeichen oder Return an dieser Stelle eingegeben werden. Dies ist aber nur nötig, wenn Argumente verwendet werden.
Argumente (optional)
Eine durch | voneinander getrennte Liste von Argumenten, die an die einzufügende Seite übergeben werden können. In der einzufügenden Seite kann mit ((x)) auf diese Argumente zugegriffen werden, wobei x eine Nummer von 0-N ist (siehe Argumente von Includes).

Wenn Text unterhalb der Include-Anweisung angezeigt wird, erscheint dahinter standardmässig ein Info-Symbol . Mit einem Klick auf dieses Symbol gelangt man zur includeten Seite. Soll dieses Info-Symbol nicht angezeigt werden, muss man vor include einen Doppelpunkt : setzen.

Die CodeInclude Anweisung kann verwendet werden um innerhalb eines <code>-Tag Inhalt einer Seite zu Includen. Der Inhalt wird nicht formatiert und angezeigt wie er in der Include-Page steht (Wikitext).

<code>
{{CodeInclude|Seite#code}}
</code>

Ganze Seite oder Teil einer Seite einfügen

Es besteht die Möglichkeit, nur Teile einer Wiki-Seite in einer anderen einzufügen. Dazu müssen in der referenzierten Seite bestimmte Teile definiert werden. Jeder Teil muss zwischen den Makros {{data}} und {{end data}} stehen. Die Teile werden intern durchnummeriert. Auf die ganze Seite kann im Include mit Seite#0 zugegriffen werden. #0 ist Default und kann auch weggelassen werden. Auf den ersten Teil zwischen {{data}} und {{end data}} kann mit #1 zugegriffen werden usw. Existiert ein Teil nicht, wird nichts (ein Leerstring) eingefügt.

Beispiele

{{include|Meine Tabelle}}    oder
{{include|Meine Tabelle#0}}

fügt die ganze Seite «Meine Tabelle» in der Seite ein.

{{include|Meine Tabelle#1}}

fügt nur den Teil der Seite «Meine Tabelle» in der Seite ein, der zwischen dem ersten {{data}} / {{end data}} steht.

Benannte Teile einfügen

Wenn die Reihenfolge der Teile in einer referenzierten Seite geändert wird, müssen alle betroffenen Include-Anweisungen angepasst werden. Um dies zu verhindern, können die Teile auch benannt werden und im Include kann auf die Namen der Teile verwiesen werden:

In der referenzierten Seite «Auswertung» steht:

{{data|Tabelle}}
  <hier würde eine Tabelle stehen>
{{end data|Tabelle}}

{{data|Beschreibung}}
  <hier würde eine Beschreibung stehen>
{{end data|Beschreibung}}

auf der Seite mit dem Include steht:

{{include|Auswertung#Tabelle}}

{{include|Auswertung#Beschreibung}}

Auf diese Art benannte Teile können auf der Seite «Auswertung» beliebig angeordnet werden, ohne dass die Seite mit der Include-Anweisung angepasst werden müsste.

Wenn man per URL einen einen der beiden Bereichen auswählen will, kann man ein Include wiefolgt definieren:

{{include|Auswertung#$Tabelle}}

Wenn in der URL ein Parameter Tabelle definiert ist, wird dessen Wert als Include-Bereich genommen. So kann man zum Beispiel mit der URL [[Seitenname~Tabelle=Beschreibung]] erreichen, dass anstelle der Tabelle die Beschreibung includet wird.

Standard-Include Spezial:CommonDefs

Wenn du bestimmte Wiki-Anweisungen, wie eigene Makros oder Styles, in vielen Seiten immer wieder benötigst, bietet es sich an, diese in die spezielle Seite «Spezial:CommonDefs» zu schreiben. Diese Seite wird automatisch am Anfang jeder Wiki-Seite eingebunden, ohne dass eine Include-Anweisung dafür vorhanden sein muss.

Anwendungsmöglichkeiten

Info-Seiten für Tabellen

Für Bilder ist es in Wikis Standard, dass zu jedem Bild eine Info-Seite erstellt wird, in der zusätzliche Informationen zum Bild stehen (Quelle, wie, wo, wann erstellt usw.). Solche Info-Seiten haben u.a. den Vorteil, dass man nach ihnen suchen kann. Da alle Bild-Infoseiten im Seitennamen mit «Bild:» beginnen, kann eine Liste aller Bilder erstellt werden, indem eine Titelsuche mit «Bild:» gemacht wird (im Suchfeld in der Wiki-Toolbar «Bild:» eingeben und auf «im Titel» klicken).

Solche Info-Seiten sind auch sehr praktisch für Tabellen, Zitate usw. Nehmen wir an, du möchtest einen Jahresbericht schreiben, in welchem eine Bilanz in Tabellenform enthalten ist. Den Jahresbericht schreibst du auf der Seite «Jahresbericht 2005». An der Stelle, wo die Bilanz-Tabelle stehen soll, schreibst du nun folgende Anweisung:

{{include|Tabelle: Bilanz 2005#1|}}

Nach dem Speichern der Seite «Jahresbericht 2005» wird an der Stelle des Includes folgender roter Link angezeigt:

include:Tabelle: Bilanz 2005#1

Tabelle: Bilanz 2005 Informationen zum Medium: Tabelle: Bilanz 2005

Der rote Link zeigt an, dass die Seite «Tabelle: Bilanz 2005» noch nicht existiert. Mit einem Klick auf diesen Link wird die Seite «Tabelle: Bilanz 2005» erzeugt und du kannst dort die Tabelle eingeben. Setze vor die Tabelle das Makro {{data}} und dahinter {{end data}}, damit in die Seite «Jahresbericht 2005» nur die Tabelle eingefügt wird. Vor {{data}} und hinter {{end data}} kannst du beliebige weitere Informationen zur Tabelle einfügen, welche aber nicht in die Include-Seite kopiert werden.

Sobald die Seite «Tabelle: Bilanz 2005» gespeichert wird, erscheint auf der Seite «Jahresbericht 2005» anstelle des roten Links die per Include eingefügte Tabelle.

Auf diese Weise gibt es für jede Tabelle eine eigene Info-Seite und man kann nach allen Tabellen suchen, wie nach Bildern. Jede Tabelle ist nur ein einziges Mal vorhanden, kann aber in beliebig viele Seiten per Include eingebunden werden. Änderungen an einer Tabelle zeigen sich so unmittelbar in allen Seiten, in welche die Tabelle includet wird.

Der | am Ende der Include-Anweiung bewirkt, dass der Text vor dem | unterhalb der eingefügten Tabelle angezeigt wird. Ohne diesen | am Ende wird unterhalb der Include-Anweisung kein Text angezeigt. Ein Klick auf das Info-Symbol führt zur Info-Seite der Tabelle, also zu «Tabelle: Bilanz 2005». Wenn du einen anderen Text unterhalb der Tabelle stehen haben willst, gibst du diesen einfach hinter dem | ein.

Formatanweisungen einfügen

Gerade wenn du viele Tabellen in einer Arbeit brauchst, machst du Gebrauch von Styles, um die Tabellen optisch zu gestalten. Wenn du mehrere Tabellen auf verschiedenen Seiten mit denselben Styles gestalten willst, bieten sich Includes an, um die Styles in einer separaten Seite zu speichern und sie per Include einzubinden. So können Änderungen zentral an einer Stelle gemacht werden und diese wirken sich unmittelbar auf alle Tabellen aus.

Beispiel

In der Seite «Spezial: Tabellen Styles» seien die folgenden Zeilen abgelegt:

<style>
.Wiki table.myTab { font-size:smaller; border:2px solid blue; }
.Wiki table.myTab th { text-align:left; }
</style>

Die Seite «Spezial: Tabellen Styles» wird nun vor jeder Tabelle oder am Anfang der entsprechenden Seite wiefolgt eingebunden:

{{include|Spezial: Tabellen Styles}}

Hinweis: Durch voransetzen von Spezial: vor einen Seitennamen kann erreicht werden, dass diese Seite vor dem User verborgen bleibt (z.B. bei Suchfunktionen).

Bestimmte Bereiche includen

Wenn man zum Beispiel eine Include-Seite hat, in der ein User verschiedene Programme oder Texte erstellen darf, wibei aber jeweils nur ein Programm oder Text included werden soll, so kann der User jedem Bereich einen eindeutigen Namen bei den Makros {{data}} geben.

In der Aufrufenden Seite kann per URL Parameter einer der benannten Bereiche ausgewählt werden. Das enstprechende Include sieht wiefolgt aus:

Include Seite:

{{Include|Spezial: User Seite#$choice}}

In der Seite Spezial: User Seite stehen dann folgende Abschnitte:

{{data|choice}}
default Bereich
{{end data|choice}}

{{data|last}}
letzter Bereich
{{end data|last}}

Aufruf der Include Seite um einen bestimmten Bereich zu includen:

[[Include Seite~choice=last]]

Argumente von Includes

Eine nützliche Sache ist, dass man der Include-Anweisung auch Argumente übergeben kann. In der Seite, die mit Include eingefügt wird, können an beliebigen Stellen Platzhalter stehen, welche vor dem Einfügen der Seite durch die entsprechenden Argumente ersetzt werden. Dadurch kann ein Include noch vielseitiger eingesetzt werden.

In der referenzierten Seite setzt du mit folgender Syntax Platzhalter:

((x=Default)) oder ((x=#Number))
x
Gibt an, welches Argument der Include-Anweisung an dieser Stelle eingefügt werden soll. ((1)) ist das erste Argument. Mit ((0)) kann auf den Namen der Seite zugegriffen werden, in dem die Include-Anweisung steht.
Default (optional)
Im Include kann bei jedem Platzhalter ein Defaultwert angegeben werden, der zum Einsatz kommt, wenn bei der Include-Anweisung kein entsprechendes Argument übergeben wird.
#Number (optional)
Als Defaultwert kann auch ein anderer Parameter mit der Nummer Number verwendet werden. Zum Beispiel wird bei ((2=#1)) der zweite Parameter eingesetzt falls vorhanden. Wenn kein zweiter Parameter bei der Include-Anweisung übergeben wurde, wird der Parameter 1 stattdessen eingesetzt. Ist auch dieser nicht vorhanden, wird #1 eingesetzt.

Vom Seitennamen können auch Teile vor einem Doppelpunk oder in Klammern am Ende weggefiltert werden:

Seitenname          ((0))              ((00))        ((000))
---------------------------------------------------------------
Makro:include       Makro:include      include       include
Müller (Beruf)      Müller (Beruf)     Müller        Müller
Bild:DSC00123.jpg   Bild:DSC00123.jpg  DSC00123.jpg  DSC00123

Anwendungsbeispiel für Includes mit Argumenten

Bild-Infoseiten haben oft denselben Aufbau und unterscheiden sich lediglich im Bild, das angezeigt wird, und im Kommentar. Es bietet sich also an, den Wiki-Text für eine Bild-Infoseite in einer Include-Seite zu speichern und den individuellen Text als Argument zu übergeben. Auf den Bild-Dateinamen kann in der Include-Seite über den Platzhalter ((00)) oder ((000)) zugegriffen werden, je nachdem, ob man die Erweiterung des Dateinamens benötigt oder nicht.

So könnte die Include-Seite «Spezial: Bildinfo» für eine Bild-Infoseite aussehen:

[[:Bild:((000)).jpg|zoom=((000))_zoom.jpg|300px|lframed|((1=Bild-Text))]]

{{Information|Informationen zum Bild
| Beschreibung = ((2))
| Autor = [[wabis]]
| Quelle = selbst fotografiert
| Datum = Juli 2005
| Fotoapparat = Digitalkamera Sony F828
}}
{{break}}
{{Bild-PD}}

Und so so würde diese Include-Seite «Spezial: Bildinfo» in die Bild-Infoseite «Bild:Landschaft.jpg» eingebunden:

{{include|Spezial: Bildinfo|-|Kurztext für Bild|Beschreibung des Bildes}}
                ^           ^          ^             ^
             Include        *        ((1))         ((2))

*) Damit kein Text an der Stelle des Includes-Makros auf der Bild-Infoseite erscheint, muss hier ein «-», Leerzeichen oder Return eingegeben werden!

Beachte, dass an Stelle von ((000)) in «Spezial: Bildinfo» der Bildname «Landschaft» eingesetzt wird. Der Bildname muss also nicht explizit als Argument übergeben werden, da er mit ((000)) aus dem Seitennamen «Bild:Landschaft.jpg» abgeleitet werden kann. Wenn ein Zoombild existiert und dieses entsprechend benannt ist, kann sogar das Zoombild ebenfalls wie im obigen Beispiel so eingebunden werden.

Weitere Infos zur Seite
Erzeugt Mittwoch, 13. Juli 2005
Zum Seitenanfang
Geändert Sonntag, 4. März 2018
von wabis