[TYPO3-german] YAML, NavSlidingDoor als horizontal
David Bruchmann
david at bruchmann-web.de
Thu Aug 26 21:07:45 CEST 2010
----- Ursprüngliche Nachricht -----
Von: Peter Reinboth <p.reinboth at gmx.de>
Gesendet: Mittwoch, 25. August 2010 17:08:09
An: Typo3 Liste <typo3-german at lists.typo3.org>
CC:
Betreff: [TYPO3-german] YAML, NavSlidingDoor als horizontal
> Hallo Typo3 Liste,
>
>
> ich habe mir mittels YAML-builder meine Vorlage als htm erstellt,
> diese in Typo3 als Vorlage eingebunden, soweit alles ok.
> Allerdings bekomme ums verrecken nicht das Menue als horizontal in TS
> gebacken. In der Html-Vorlage ist alles bestens.
> Mein Typo3 Buch gibt dahingehend nichts her, und in der Referenz habe
> ich bisher auch nichts gefunden.
>
> Hat das schon jemand gelöst und evtl. einen Tipp (Code) für mich?
>
> Vielen Dank im voraus.
>
> PS: Bin Typo3 Anfänger und erst seit gestern dabei.
>
Hallo Peter,
hiermit das Problem noch einmal genauer und die Lösung:
Auf der Seite [1] ist das Hauptmenu integriert und das wolltest Du
nachbilden in TYPO3.
Der HTML-Quelltext vom Menu sieht so aus:
<div id="nav" role="navigation">
<div class="hlist">
<ul>
<li><a href="../index.html">Table Of Contents</a></li>
<li><a href="menu_vertical_listnav.html">Next Example</a></li>
<li><a href="menu_shiny_buttons.html">Previous Example</a></li>
<li><a href="#">Button 4</a></li>
<li class="active"><strong>Active Button</strong></li>
</ul>
</div>
</div>
Erst einmal definiere ich das TypoScript, das die HTML-Struktur erzeugt:
lib.navSlidingDoor = COA
lib.navSlidingDoor {
10 = TEXT
10.value = <div id="nav" role="navigation">
20 = HMENU
20 {
special = directory
# uid der uebergeordneten Seite von den Seiten der Navi
special.value = 1
wrap = <div class="hlist">|</div>
1 = TMENU
1 {
# Entfernen von ' onfocus="blurLink(this);" aus links'
noBlur = 1
wrap = <ul>|</ul>
NO.linkWrap = <li>|</li>
# bei Unterseite der aktuellen Seite
# wenn CUR nicht aktiviert auch bei aktueller Seite:
ACT = 1
ACT.linkWrap = <li class="active">|</li>
# Optional: Link entfernen, wenn die aktuelle Seite
# und Navigationspunkt gleich sind
CUR = 1
CUR.doNotLinkIt = 1
CUR.stdWrap.wrap < .ACT.linkWrap
}
}
30 = TEXT
30.value = </div>
}
Die verschiedenen umschließenden Elemente habe ich bewußt auf
unterschiedlichen Ebenen mit verschiedenen Methoden erzeugt. Das ist bei
dem einfachen Menu überflüssig aber kann bei komplizierteren Sachen
sinnvoll sein, außerdem zeigt es Dir die Möglichkeiten.
So jetzt muß das CSS eingebunden werden und das HTML noch ausgegeben werden:
page = PAGE
page {
# CSS-Stylesheets
includeCSS.cssdatei = fileadmin/Seite 1/css/my_layout.css
# Vorlage laden
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/Seite 1/templates/template_sap_profil.htm
# Template-Sektion laden
10.workOnSubpart = DOKUMENT
# Marker ersetzen ( ###menu_slidingDoor### )
10.marks.menu_slidingDoor < lib.navSlidingDoor
# Weitere Definitionen ...
}
Die grafische Darstellung ist jetzt nur noch von CSS und per CSS
eingebundenen Grafiken abhängig und hat nichts mehr direkt mit TYPO3 zu tun.
Viele Grüße,
David
1)
http://www.yaml.de/fileadmin/examples/05_navigation/menu_sliding_door.html
More information about the TYPO3-german
mailing list