Vorlage:Buchsuche Reihe

Aus Wikibooks
 Erweiterte Buchsuche  Buch durchsuchen
Suche im Werk {{{Reihe}}}

Informationen zu dieser Dokumentation
Vorlage Buchsuche Reihe [Bearbeiten]

Zweck

Diese Vorlage ermöglicht in Erweiterung der Vorlage:Buchsuche die Volltextsuche in einem von mehreren Teilen eines Buches oder einer Buchreihe. Jede Teilsuche steht in einer eigenen Zeile mit einem separaten Button; dadurch wird die Buchsuche über den entsprechenden Präfix-Parameter direkt mit dem Buchteil verknüpft.

Wie die Buchsuche auf einer Seite untergebracht wird, hängt von der Art der Navigation ab und muss ausprobiert werden. Die Suchmöglichkeiten stehen in einer Klappbox mit dem verborgen-Parameter, damit sie nur bei Bedarf geöffnet wird.

Aufruf

Im Aufruf wird üblicherweise die Suche in der gesamten Buchreihe und im jeweils aktuellen Einzelbuch sowie bei Bedarf in weiteren Büchern angeboten.

{{Buchsuche Reihe|Reihe=Arbeiten mit .NET|PräfixReihe=Arbeiten mit .NET
|Text1=Das aktuelle Buch aus dieser Reihe|Präfix1={{BASEPAGENAME}}
|Text2=OOP (.NET)|Präfix2=Arbeiten mit .NET: Grundlagen: OOP
|Text3=C#-Lehrbuch|Präfix3=Arbeiten mit .NET: Grundlagen: C-Sharp
|Text4=Visual Basic|Präfix4=Visual Basic .NET}}

Dies erzeugt die folgende Darstellung auf einer Seite:

 Erweiterte Buchsuche  Buch durchsuchen
Suche im Werk Arbeiten mit .NET
Suche im Bereich Das aktuelle Buch aus dieser Reihe
Suche im Bereich C#-Lehrbuch
Suche im Bereich Visual Basic

Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Bei einem sehr umfangreichen Buch – wie C++-Programmierung – kann in ähnlicher Weise die Suche im gesamten Buch und im jeweils aktuellen Buchteil sowie bei Bedarf in weiteren Buchteilen angeboten werden.

{{Buchsuche Reihe|Reihe=C++-Programmierung|PräfixReihe=C++-Programmierung
|Text2=Einführung|Präfix2=C++-Programmierung/ Einführung in C++
|Text3=Brüche|Präfix3=C++-Programmierung/ Brüche}}

Dies erzeugt die folgende Darstellung auf einer Seite:

 Erweiterte Buchsuche  Buch durchsuchen
Suche im Werk C++-Programmierung
Suche im Bereich Einführung
Suche im Bereich Brüche

Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Parameter

Reihe
(Pflicht) Dies legt den Text fest, der auf die Suche im gesamten Werk hinweist. Meistens ist dies der Name der Buchreihe oder des Buches.
PräfixReihe
(Pflicht) Dies gibt den Wiki-Namen des Buches oder der Reihe an und wird als Präfix für die Suchfunktion verwendet.
Text1
(optional) Dies legt den Text fest, der auf die Suche in der ersten Zeile hinweist. In der Regel ist dies der Name des ersten Teils der Reihe bzw. des Buches.
Präfix1
(optional) Dies gibt den Wiki-Namen des betreffenden Teils an und wird als Präfix für die Suchfunktion verwendet. Der Name des Gesamtwerks ist in aller Regel Teil des Wiki-Namens.
Text2, Text3 usw.
(optional) Inhaltsangabe für weitere Suchbereiche
Präfix2, Präfix3 usw.
(optional) Wiki-Namen für diese Suchbereiche

Bisher sind 7 weitere Zeilen jeweils mit Text und Präfix vorgesehen. Diese Zahl kann durch einfache Änderung der Vorlage erhöht werden; allerdings wird die Such-Box bei größerer Zahl immer unübersichtlicher.

Der Wiki-Name kann, soweit als Trennzeichen der Schrägstrich verwendet wird, auch als Variable wie {{BASEPAGENAME}} oder der Vorlage:ParmPart bzw. der Funktion titleparts angegeben werden.

Diese Vorlage ist nur sinnvoll, wenn mindestens eine der weiteren Zeilen benutzt wird. Welche das ist, ist gleichgültig (siehe das zweite Beispiel).

Arbeitsweise

Der Rahmen basiert auf der Vorlage:Klappbox und wird nur bei Bedarf geöffnet; beim Ausdrucken wird die Klappbox übergangen. Der Inhalt ist eine einfache Wiki-Tabelle mit zwei Spalten. In jeder Zeile enthält die erste Spalte den Inhalt des Text-Parameters, die zweite Spalte das Eingabefeld und den Such-Button.

Der Inhalt der Klappbox beginnt mit dem Anfang der Tabellendefinition. Für die erste Zeile werden die Werte der Parameter Reihe und PräfixReihe direkt an die ergänzende Vorlage:Buchsuche Reihe Zeile übergeben. Der erste Parameter wird direkt angezeigt, der zweite Parameter wird als Präfix für die Suchfunktion verwendet.

Für die weiteren, optionalen Zeilen wird zunächst mit der if-Abfrage geprüft, welche Vorlage verwendet werden soll. Wenn der Parameter Text festgelegt ist, wird die Vorlage Buchsuche Reihe Zeile verwendet; andernfalls die Vorlage leer. Der Vorlage, die gemäß if-Prüfung aufzurufen ist, werden die jeweiligen Parameter Text und Präfix übergeben. Zum Schluss der Vorlage kommt noch das Ende der Tabellendefinition.

Die Vorlage leer hat keine eigene Funktionalität. Mit ihrer Hilfe kann geprüft werden, ob Parameter festgelegt wurden, ohne dass der Zeilenumbruch oder der Aufbau einer Tabellenzeile negativ beeinflusst werden. Näheres dazu wird bei Vorlage:leer erläutert.

Achtung: Der Zeilenumbruch innerhalb der Vorlage darf nicht geändert werden. Dies hätte äußerst negative Auswirkungen auf die Höhe der ganzen Tabelle und der Tabellenzeilen.

Hinweise

  • Die Suchfunktion wird wie bei Vorlage:Buchsuche über die InputBox verwirklicht.
  • Wie im obigen Beispiel zu sehen ist, verdrängt die Suchen-Box den fortlaufenden Text. Besondere Textteile (z. B. ein Kasten, der durch <div> auf eine bestimmte Breite gesetzt wird) werden nicht verdrängt, sondern übereinander gesetzt.
  • Bei Bedarf kann nach der Buchsuche {{clear}} (mit oder ohne Parameter) eingefügt werden, wenn der Textfluss um die Box herum nicht sauber angezeigt wird.

Zur Entstehung der Vorlage

  • Die normale Vorlage:Buchsuche kann durch den Präfix-Parameter auf einen Teilbereich eines Buches oder einer Buchreihe beschränkt werden. Es gibt aber kein ähnliches Verfahren, um den Präfix-Parameter variabel zu gestalten und mit einer (!) Suchbox zu verknüpfen.
  • Es gibt keine Möglichkeit einer ComboBox, in der die vorgesehenen Präfixe stehen und der gewünschte Teil ausgewählt und mit der InputBox verknüpft wird.
  • In den ersten Versuchen stand das Suchen-Icon innerhalb der Klappbox. Das hat aber die horizontale Aufteilung der Zeilen und der gesamten Tabelle durcheinander gebracht.