Login
Neu hier? Registrieren.
Wayfinder-Parameter II
Parameter, die CSS-Klassennamen zuweisen
Oft ist es wünschenswert, Aussehen, Layout und in manchen Fällen das Verhalten des Wayfinder-Outputs durch CSS zu steuern. Um dieses Bedürfnis zu unterstützen, hat Wayfinder zehn Parameter, die jeweils zu einem anderen Abschnitt des Output gehören, mit denen man Wayfinder sagen kann, welche CSS Klassennamen er jeweils einem dieser Abschnitte zuweisen soll.
Jedesmal, wenn Wayfinder einen Abschnitt eines bestimmten Typs erzeugt, fügt er ihm den oder die CSS-Klassennamen hinzu, die Sie festgelegt haben. Natürlich müssen Sie, damit das überhaupt eine Wirkung hat, auch die CSS-Styles, die zu diesen Klassennamen gehören, definieren - in einer CSS-Datei, im Template der Seite etc.
Beachten Sie, dass manche "Zeilen" des Output möglicherweise die Kriterien für mehrere Parameter erfüllen und somit durch dieses Verfahren mehrere CSS-Klassen zugewiesen bekommen.
| Parameter
|
Beschreibung
|
Typ
|
Erlaubte Werte
|
Standard
|
Kommentare
|
|---|---|---|---|---|---|
| Das Folgende gilt für Output, der von "Zeilen"-Templates erzeugt wird: | |||||
| &rowClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] jeder Zeile. |
Zeichenkette | der Name einer CSS-Klasse, die Sie für diese Webseite definiert haben. | (leer) | |
| &firstClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] der ersten
Zeile jeder Liste und Unterliste (d.h. auf jeder Ebene) des erzeugten
Output. |
" | " | " | |
| &lastClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] der letzten
Zeile jeder Liste und Unterliste (d.h. auf jeder Ebene) des erzeugten
Output. |
" | " | " | |
| &selfClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] derjenigen Zeile,
die zu dem aktuellen Dokument gehört. Somit kann es nur einmal in jedem
Wayfinder-Output auftreten. |
" | " | " | |
| &hereClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] folgender Zeilen:
die, die zu dem aktuellen Dokument, zu dessen Eltern-Dokument,
Großeltern-Dokument usw. gehören, ganz hinauf bis zu der Ebene
unmittelbar unter dem Start-Dokument. Dies erlaubt Ihnen, eine eigene
Menge von Style-Regeln auf die Kette von Dokumenten anzuwenden,
die vom obersten Punkt der Menüstruktur bis hinab zum aktuellen
Dokument führt -- egal wie viele Ebenen tief sie gehen mag. Beachten
Sie, dass dies die gleichen Dokumente sind, die in einem
Brotkrumen-Pfad aufgelistet würden. |
" | " | " | |
| &parentClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] aller Zeilen, die
zu Dokumenten mit Kindern gehören. |
" | " | " | |
| &levelClass | Diese Klasse wird den jeweiligen Ebenen hinzugefügt, zum Beispiel für &levelClass=`Ebene` bekommen die Listenpunkte je nach Ebene die Klassen Ebene1, Ebene2, Ebene3 etc. | " | " | " | |
| &webLinkClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] aller Zeilen, die
Web-Links darstellen und nicht Web-Seiten. |
" | " | " | |
| Das Folgende gilt für Output, der von "Container"-Templates erzeugt wird: | |||||
| &outerClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] des Templates &outerTpl. |
" | " | " | |
| &innerClass | Der
CSS-Klassenname, der in diesem Parameter angegeben wird, erscheint in
den Platzhaltern [+wf.classes+] und [+wf.classnames+] des Templates &innerTpl. |
" | " | " | |
Parameter, die Wayfinder sagen, welche Templates er benutzen soll
Wayfinder kann bis zu elf Templates verwenden, die die Struktur der verschiedenen Teile seines Output festlegen, und er stellt eine entsprechende Menge an Parametern zur Verfügung, mit der man diese definieren kann. Von den elf möglichen Templates sind nur zwei absolut notwendig. Wayfinder hat eingebaute Vorgaben für diese beiden und konstruiert damit die standardmäßige eingerückte ungeordnete Liste. Und falls &displayStart auf TRUE gesetzt ist, kommt ein drittes Template zu den mindestens erforderlichen hinzu, und auch für dieses hat Wayfinder eine eingebaute Vorgabe.
So erstellen und benutzen Sie ein Template: Setzen Sie das Template in ein Chunk; dann verwenden Sie die geeigneten Parameter, um Wayfinder den Namen des Chunk zu sagen. Für jedes der elf möglichen Templates gibt es einen Parameter, und wenn Sie sie alle benutzen, brauchen Sie auch die elf entsprechenden Chunks.
Der Inhalt eines jeden Templates ist ein Stück HTML mit einigen darin eingebetteten Platzhaltern. Wenn Wayfinder läuft, macht er von dem Template eine Kopie und ersetzt darin jeden Platzhalter durch einen dynamisch bestimmten Text und fügt das Ergebnis dem erzeugten Output hinzu. Diesen Prozess setzt es so lange fort, bis alle Teile zusammengesetzt sind; das so entstandene Stück Text bildet den Output.
Beachten Sie, dass Eltern-Templates nur benutzt werden, wenn es Kind-Zeilen gibt, die unter ihnen ausgegeben werden sollen.
Um zu erfahren, wie die Template-Outputs in das Endprodukt zusammengeführt werden, siehe den Abschnitt Templates weiter unten.
| Parameter
|
Beschreibung
|
Typ
|
Erlaubte Werte
|
Standard
|
Kommentare
|
|---|---|---|---|---|---|
| Dies sind die zeilenbezogenen Templates: (1) | |||||
| &startItemTpl |
|
Zeichenkette | Der Name des Chunk, das das entsprechende Template enthält. (Siehe Anmerkung (6) für zusätzliche Optionen.) | (2) | In jedem Wayfinder Aufruf kann es höchstens ein Auftreten dieses Templates geben. |
| &rowTpl | Dies ist das vorgegebene Template, das für alle Menüpunkte auf Zeilen-Ebene verwendet wird mit Ausnahme des Start-Punktes. | " | " | (3) | |
| &innerRowTpl |
|
" | " | (leer) | |
| &hereTpl | Dieses Template wird für folgende Zeilen verwendet: die, die zu dem aktuellen Dokument, zu dessen Eltern-Dokument, Großeltern-Dokument usw. gehören, ganz hinauf bis zu der Ebene unmittelbar unter dem Start-Dokument. Dies erlaubt Ihnen, eine eigene Menge von Style-Regeln auf die Kette von Dokumenten anzuwenden, die vom obersten Punkt der Menüstruktur bis hinab zum aktuellen Dokument führt -- egal wie viele Ebenen tief sie gehen mag. Beachten Sie, dass dies die gleichen Dokumente sind, die in einem Brotkrumen-Pfad aufgelistet würden. | " | " | (leer) | |
| &innerHereTpl | Das Gleiche wie &hereTpl, nur dass &innerHereTpl auf alle Untermenüs angewendet wird. Wenn dieses Template definiert ist, wird das &hereTpl-Template nur für die oberste Ebene der Menü-Hierarchie verwendet. Ist es nicht definiert, wird auf alle Zeilen das &hereTpl-Template angewendet. | " | " | (leer) | |
| &parentRowTpl | Wenn es definiert ist, bestimmt dieses Template den Output für solche Zeilen, die Kind-Dokumente haben. | " | " | (leer) | (7) |
| &parentRowHereTpl | Dieses Template legt, wenn es definiert ist, den Output all jener Zeilen in der "here"-Kette fest, die oberhalb der letzten/tiefsten Ebene liegen (d.h. für alle Eltern). | " | " | (leer) | (7) |
| &activeParentRowTpl | ??? | " | " | (leer) | (7) |
| &categoryFoldersTpl | Wenn es definiert ist, legt dieses Template den Output für solche Zeilen fest, die (a) Kind-Dokumente haben und (b) denen kein Dokument-Template zugewiesen wurde oder (c) deren link attributes-Feld auf rel="category" gesetzt ist. Dies ist nützlich, weil manchmal Webdesigner "leere" Eltern-Dokumente verwenden, um Kategorie-Kopf-Informationen für eine Menge untergeordneter Seiten vorzusehen, und keine aktiven Links zu diesen Kopf-Seiten haben wollen, die kein Webseitentemplate haben. | " | " | (leer) | (7)? |
| Dies sind die Container-Templates: (5) | |||||
| &outerTpl |
|
" | " | (4) | |
| &innerTpl |
|
" | " | (leer) | |
Bemerkungen:
- Alle zeilenbezogenen Templates können beliebige oder alle der folgenden Platzhalter verwenden:
[+wf.wrapper+]-- Sagt Wayfinder, wo er die Zeilen einfügen soll, die ein Menü oder, sofern vorhanden, ein Untermenü bilden.[+wf.classnames+]-- Eine Liste anzuwendender CSS-Klassennamen, sofern vorhanden.[+wf.classes+]-- Enthältclass="[+wf.classnames+]"[+wf.link+]-- Der URL des Dokuments.[+wf.title+]-- Das pagetitle-Feld des Dokuments.[+wf.linktext+]-- Das menutitle-Feld des Dokuments.[+wf.subitemcount+]-- Die Anzahl unmittelbarer Kinder des Dokuments.[+template_variable_name+]-- Der Name einer verfügbaren Template-Variablen.[+document_field_name+]-- Der Name eines Standard-Dokument-Felds.[+wf.attributes+]-- Das link attributes-Feld des Dokuments.[+wf.id+]-- Die eindeutige Zeilen-ID (sofern vorhanden), festgelegt durch &rowIdPrefix.[+wf.docid+]-- Die ID des Dokuments.[+wf.description+]-- Das Feld description des Dokuments.[+wf.introtext+]-- Das Feld introtext des Dokuments.
-
Das Standardtemplate &startItemTpl lautet:
<h2>[+wf.linktext+]</h2>[+wf.wrapper+]
- Das Standardtemplate &rowTpl lautet:
<li [+wf.id+] [+wf.classes+] > <a href="[+wf.link+]" title="[+wf.title+]" [+wf.attributes+]>[+wf.linktext+]</a> [+wf.wrapper+] </li>
- Das Standardtemplate &outerTpl lautet:
<ul [+wf.classes+]> [+wf.wrapper+] </ul>
- Ich denke, die einzigen Platzhalter, die in den Templates &outerTpl und &innerTpl angewendet werden können, sind diese:
[+wf.wrapper+]-- Der Output aller zeilenbezogenen Templates (also rowTpl) kommt in diesen Platzhalter.[+wf.classes+]-- Eine Liste anzuwendender CSS-Klassennamen, sofern vorhanden.[+wf.classnames+]-- Siehe wf.classes, nur ohne "class="
- Zusätzlich
zu der "Standard-Option", einen Chunk-Namen als Wert eines
Template-Parameters anzugeben, gibtes zwei weitere Optionen:
- Wenn ein Wert eines Template-Parameters mit @FILE:
beginnt, interpretiert Wayfinder den Rest des Wertes als Pfadname zu
einer Datei, die das Template enthält. Beispiel:
&rowTpl= `@FILE:/assets/templates/myTemplate.txt` - Wenn
ein Wert eines Template-Parameters mit @CODE: beginnt, interpretiert
Wayfinder den Rest des Wertes als das Template selbst! Beispiel:
&rowTpl= `@CODE:<h2>[+pagetitle+]</h2>`
- Wenn ein Wert eines Template-Parameters mit @FILE:
beginnt, interpretiert Wayfinder den Rest des Wertes als Pfadname zu
einer Datei, die das Template enthält. Beispiel:
- Die Eltern-Templates werden nur für Dokumente mit Kindern verwendet, deren Kind-Dokumente in einem Untermenü dargestellt werden.