Ebenen-Spezifische Macronavigation
Die Macronavigation zeigt nicht die gesamte Baumheirarchie an, sondern nur die Dokument-Sequenz der aktuellen Ebene, d.h. die 'Geschwister' von Dokumenten bzw. die 'Kinder' von Rubrik-Objekten.
Die Macronavigation zeigt nicht die gesamte Baumheirarchie an, sondern nur die Dokument-Sequenz der aktuellen Ebene, d.h. die 'Geschwister' von Dokumenten bzw. die 'Kinder' von Rubrik-Objekten.
Die Macronavigation wird von einem DIV-Element ummantelt - weiterhin von zusätzlichen definitionlist-Elementen, damit browserübergreifend die Aussenabstände gleichartig gehalten werden können.
Die Funktion filteredChildNodes(REQUEST,PAGES) liefert eine Liste aller Seiten-Objekte; mit der integer-Funktion werden die Bool-Werte False/True aus der Prüfung nach dem aktuellen Objekt in einen Zahlenwert (0/1) transformiert; entsprechend werden die CSS-Klassen für Dokumente (doc0: nicht aktives Dokument, doc1: aktives Dokument). Eine Entsprechung bei Rubrik-Containern erübrigt sich, da in diesem Fall stets die Unterobjekte und nicht das Objekt selbst gelistet wird.
<!-- pageelement_Macronavigation --> <dtml-call "REQUEST.set('_this',getSelf())"> <dtml-call "REQUEST.set('_this_top',getSelf(['ZMSRubrik','ZMSSysFolder']))"> <div id="Macronavigation"> <dl> <dd> <ul> <dtml-in "REQUEST['_this_top'].filteredChildNodes(REQUEST,PAGES)"> <dtml-unless "isResource(REQUEST)"> <dtml-if "REQUEST['thisObj'].getParentByLevel(1).id in absolute_url().split('/')"> <dtml-let highlightThis="_.int(REQUEST['thisObj'].id==id)"> <dtml-if "isMetaType(['ZMSRubrik','ZMSSysFolder'])"><li class="folder"><dtml-else><li class="doc&dtml-highlightThis;"></dtml-if><a href="<dtml-var "getHref2IndexHtml(REQUEST,deep=1)">"><dtml-var "string_maxlen(getTitlealt(REQUEST),18)"></a></li> </dtml-let> </dtml-if> </dtml-unless> </dtml-in> </ul> </dd> </dl> </div> <!-- /pageelement_Macronavigation -->
Das vorliegende CSS bemüht sich, Abstände und relative Schriftrößen browserübergreifend darzustellen; daher sind einige bekannte "Hacks" eingesetzt worden:
Die Referenzierung der Bullet-Images geschieht über die Pfad-Variable 'ZMS_COMMON'; statt des Tag-Aufrufes wird hier die Entity-Syntax eingesetzt, damit auch der rohe Code keine Fehler verursacht.
/*-------------------------*/ /*-----Macronavigation-----*/ /*-------------------------*/ div#Macronavigation { padding: 0; border: 0; margin-top: 50px; } #Macronavigation dl, #Macronavigation dt, #Macronavigation dd { margin: 0; padding: 0; border:0; } #Macronavigation ul li { margin: 0; padding: 0; border: 0; margin-top: 5px; line-height: 1.25em; font-size: small; } /*----- font size hack -----*/ /*/*/a{} body #Macronavigation ul li { font-size : x-small; } html>head:first-child+body #Macronavigation ul li { font-size : small; } /* */ /*----- /font size hack -----*/ #Macronavigation ul li.folder { list-style: disc url(&dtml-ZMS_COMMON;/iconfolder.gif) inside; } #Macronavigation ul li.doc0, #Macronavigation ul li.doc1 { list-style: disc url(&dtml-ZMS_COMMON;/icondoc.gif) inside; } #Macronavigation ul li.doc1 { font-weight: bold; } #Macronavigation ul li a { /*-------box model hack-------*/ margin-left: -8px !important; margin-left: 0px; margin-left/**/:/**/-0px; }
Erstellt von: Dr. F. Hoffmann , erstellt am: 27.06.2008 , zuletzt geändert: 27.06.2008