HAllo zusammen,
ich habe versucht, manuell in dem ich die CSS informationen und die Grafiken in mein Template mit eingebaut habe, eine Navigation mit zu erstellen.
jetzt habe ich entdecket, dass es dazu eine dazugehörgige Extetnion gibt:
http://typo3.org/extensions/repository/?tx_terfe_pi1%5Bview%5D=search&no_cache=1&tx_terfe_pi1%5Bsword%5D=freeCssDropDownMenu
Diese habe ich nun mal eingebaut, wie füge ich dies nun ein?
Mein Typo Script für die Navigation schaut aktuell so aus:
lib.field_navigation = HMENU
lib.field_navigation {
wrap = <ul class="dropdown dropdown-horizontal">|</ul>
1 = TMENU
1 {
expAll = 1
noBlur = 1
NO = 1
NO.allWrap= <li>|</li>
CUR = 1
CUR.allWrap = <li class="current">|</li>
}
2 = TMENU
2 {
expAll = 1
noBlur = 1
NO.wrapItemAndSub = <li>|</li>
CUR = 1
CUR.wrapItemAndSub = <li class="current">|</li>
ACT = 1
ACT < .CUR
}
3 < .2
3.wrap = <ul>|</ul>
4 < .3
5 < .3
}
Gruß Tobli
Hallo.
Sieht aus, als müsstest Du v.a. das statische TS-Template in Dein Template inkludieren und dann via Konstanteneditor ein paar Werte setzen.
Was ich so aus dem TypoScript rauslese, sollten Dir danach die vier Objekte zur Verfügung stehen:
lib.freeCssDropDownMenu.horizontal
lib.freeCssDropDownMenu.vertical
lib.freeCssDropDownMenu.horizontalG
lib.freeCssDropDownMenu.verticalG
Viele Grüße
Julian
nunja so ganz steige ich da nicht durch 🙁
css files muss ich ja auch noch irgendwo einbinden.
Das Einbinden der CSS-Dateien übernimmt die Extension für Dich. Das ist ja ein Stück weit auch der Sinn/Vorteil, wenn Features in Extensions gegossen werden 😉
Schau am besten mal im extension-Ordner in das TS (typo3conf/ext/freeCssDropDownMenu/static/freecssdropdownmenu/setup.txt). Dort siehst Du ganz gut, was die Extension alles tut, was ansonsten Du selbst alles erzeugen und einbinden müsstest.
ah ok, d.h. wenn ich das dropdown haben möchte, dann reicht es wenn ich aus der setup.txt etwas herauskopiere und in meine navigations config einfüge?
plugin.freeCssDropDownMenu.horizontal = HMENU
plugin.freeCssDropDownMenu.horizontal {
special = directory
special.value = {$plugin.freeCssDropDownMenu.horizontal.start}
excludeUidList = {$plugin.freeCssDropDownMenu.horizontal.exclude}
if {
value = {$plugin.freeCssDropDownMenu.horizontal}
equals = 1
}
1 = TMENU
1 {
wrap = <ul class="dropdown dropdown-horizontal"> | </ul>
expAll = 1
noBlur = 1
NO = 1
NO {
ATagTitle.field = abstract // description // subtitle // title
wrapItemAndSub = |*| <li> | </li> |*| <li class="last"> | </li>
stdWrap.htmlSpecialChars = 1
}
IFSUB < .NO
IFSUB {
wrapItemAndSub = |*| <li class="dir"> | </li> |*| <li class="dir last"> | </li>
}
}
2 < .1
2.wrap = <ul> | </ul>
3 < .2
4 < .2
5 < .2
}
Noch einfacher:
1. Statisches Template einbinden (unter "Include") in Deinem eigenen (TypoScript-)Template-Datensatz
2. eines der vier bereits vorkonfigurierten Objekte lib.freeCssDropDownMenu.* in Dein PAGE-Objekt reinkopieren/einsetzen
noch einfacher, aja.
und wie mache ich 1.?
2. habe ich nun eingefügt.
Edit: müßte ich erwähnen dass ich mein template gemappt habe?
Meine das TypoScript-Template, nicht das HTML-Template.
Für das Einbinden statischer Templates von Extensions gibt es hier eine schöne Bebilderung (Schritt 2):
http://www.capcom.de/capblog/blog-beitrag-17-lightboxeffekt-in-typo3-mit-perfect-lightbox/
so jetzt habe ich verstanden.
die css ist ins mein root baustein eingebaut.
das lib.freeCssDropDownMenu.horizontal hab ich beim page eingebaut.
was zur folge hat, dass ich kein menü im frontend sehe.
Hallo zusammen,
auch wenn ich nerve, ich bekomme es einfach nicht hin 🙁
Extention habe ich installiert, in meinem ROOT habe ich bei "Statische Templates einschließen" FreeCssDropDownMenu (freecssdropdownmenu) zugewiesen. Zudem habe ich im ROOT Setup
plugin.freeCssDropDownMenu.themeCss = typo3conf/ext/freecssdropdownmenu/res/css/dropdown/themes/_template/default.css
plugin.freeCssDropDownMenu.page = page
plugin.freeCssDropDownMenu.headerDataId = 9876
plugin.freeCssDropDownMenu.horizontal = 1
plugin.freeCssDropDownMenu.horizontal.start = 1
plugin.freeCssDropDownMenu.horizontal.exclude =
plugin.freeCssDropDownMenu.vertical = 0
plugin.freeCssDropDownMenu.vertical.start = 1
plugin.freeCssDropDownMenu.vertical.exclude =
plugin.freeCssDropDownMenu.templavoila = 0
eingebaut.
in meiner NAVIGATION Setup habe ich dies eingefügt:
plugin.freeCssDropDownMenu.horizontal = HMENU
plugin.freeCssDropDownMenu.horizontal {
special = directory
special.value = {$plugin.freeCssDropDownMenu.horizontal.start}
excludeUidList = {$plugin.freeCssDropDownMenu.horizontal.exclude}
if {
value = {$plugin.freeCssDropDownMenu.horizontal}
equals = 1
}
1 = TMENU
1 {
wrap = <ul class="dropdown dropdown-horizontal"> | </ul>
expAll = 1
noBlur = 1
NO = 1
NO {
ATagTitle.field = abstract // description // subtitle // title
wrapItemAndSub = |*| <li> | </li> |*| <li class="last"> | </li>
stdWrap.htmlSpecialChars = 1
}
IFSUB < .NO
IFSUB {
wrapItemAndSub = |*| <li class="dir"> | </li> |*| <li class="dir last"> | </li>
}
}
2 < .1
2.wrap = <ul> | </ul>
3 < .2
4 < .2
5 < .2
}
lib.field_navigation < plugin.freeCssDropDownMenu.horizontal
Allerdings erscheint hier nun kein Menü.
Was mache ich falsch?
Gruß Tobli
Hallo tobli noch mal auf diesem Weg.
Vorweg kurz: als ich damals diese Erweiterung geschrieben habe dachte ich nicht, dass diese sich mal groß verbreitet... Sie war am Anfang nur für den Gebrauch auf ein paar von mir betreuten Websites entstanden und auf Wunsch eines Bekannten ins TER geladen worden.
So nun zu deinem Problem:
Wenn du, wie von Julian.Hofmann erwähnt, das Typoscript der Erweiterung eingebunden hast sollte es reichen das Plugin in den entsprechenden Subpart oder Marker (hier mal nav genannt) zu kopieren:
page.10.subparts.nav < plugin.freeCssDropDownMenu.horizontal
page.10.marker.nav < plugin.freeCssDropDownMenu.horizontal
Bei einem Fluid Tempalte natürlich über:
page.10.variables.nav < plugin.freeCssDropDownMenu.horizontal
und
<!--ab Typo3 4.6 / Fluid 1.4-->
<f:format.raw>{nav}</f:format.raw>
<!--bis Typo3 4.5.x / Fluid 1.3-->
<f:format.html parseFuncTSPath="">{nav}</f:format.html>
Die Einstellungen, die du oben geschrieben hast gehören nicht ins Setup sondern in die Constants.
plugin.freeCssDropDownMenu.page = page
plugin.freeCssDropDownMenu.headerDataId = 9876
plugin.freeCssDropDownMenu.horizontal = 1
#...
Bei der Gelegenheit als Tip:
Fang jetzt mit Fluid als Template Engine an.
Dann hast du es leichter bei einegnen Erweiterungen oder dem Anpassen von Neuen Erweiterungs Templates an deine Bedürfnisse.
Hallo jank,
danke erstmal für deine Antwort.
Ich habe ein Yaml-Template welches ich ein wenig gemappt habe. Der BEriech für die NAvigation heißt lib.field_navigation
page.10.subparts.nav < plugin.freeCssDropDownMenu.horizontal
page.10.marker.nav < plugin.freeCssDropDownMenu.horizontal
habe ich nun in das ROOT Setup reingespeichert. Macht dies was, wenn dort bereits
page = PAGE
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
page.10.disableExplosivePreview = 1
steht? oder muss ich dann aus page.10.subparts.nav -> page.20.subparts.nav machen?
plugin.freeCssDropDownMenu.page = page
plugin.freeCssDropDownMenu.headerDataId = 9876
plugin.freeCssDropDownMenu.horizontal = 1
#...
habe ich nun ins das ROOT unter Konstanten gespeichert.
Da ich ein Yaml Tempalte habe kann ich dies ja nicht wie heir beschreiben einbauen, sondern?
page.10.variables.nav < plugin.freeCssDropDownMenu.horizontal
und
<!--ab Typo3 4.6 / Fluid 1.4-->
<f:format.raw>{nav}</f:format.raw>
<!--bis Typo3 4.5.x / Fluid 1.3-->
<f:format.html parseFuncTSPath="">{nav}</f:format.html>
Gruß tobli
PS: gibts nen tipp für gute Fluid Templates oder auch Erläuterungen? Dies schaue ich mir dann an, wenn es mit dem Yaml-Template läuft.
tobli schrieb
...
Macht dies was, wenn dort bereits
page = PAGE
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
page.10.disableExplosivePreview = 1
steht?
...
Du hast bis jetzt nicht erwähnt, dass du TemplaVoila einsetzt...
Kann es sein, dass du neu mit Typo3 anfängst?
Jetzt von 0 auf 100 zu erklären wie man in Typo3 ein Template erstellt sprengt diesen Threads, aber es gibt ein paar gute Tutorials...
Hallo,
ich hab nur irgendwo geschreiben, dass ich nen Yaml-Template gemappt habe. Vergass dann wohl zu erwähnen das ich das mit Templavoila (dachte man kann nur mit dem mappen).
Ich verwende seit längerem schon Typo 3 und hab mir nach und nach nach Videotutorials was aufgebaut. Allerdigns ist dies ja sehr umfangreich. Nach dem Neuaufbau mit 4.6 kommen ein wenig tücken auf, wie das Einbinden deiner Extention in meinem gemappten Template.
Das Menü erscheint allerdings noch nicht.
OK das mit dem "Mappen" hab ich nicht direkt mit TV verknüpft.
Typo3 ist in der Tat umfangreich. Hier hilft meistens ein Blick in die TSREF.
Und on Top nun noch TV.
Für TV musst du in den constanten
plugin.freeCssDropDownMenu.templavoila = 1
einstellen.
Darurch wird das Plugin in lib.freeCssDropDownMenu.horizontal kopiert.
Diese lib dann per als TyposcriptObjectPath Mappen.
<T3DataStructure> extensions
<TypoScriptObjPath>
string
TypoScript object path pointing to a TypoScript Template Content Object which will render the content represented by the element.
Very useful if you want to insert a menu which is defined by eg. “lib.myMenu” in the TypoScript Template of a website.
Hallo,
der Bereich in meiner Template.html welche ich gemappt habe,schaut so aus:
<!-- begin: main navigation #nav -->
<div id="nav" role="navigation">
<div class="hlist">
<ul>
<li class="active"><strong>Button 1</strong></li>
<li><a href="#">Button 2</a></li>
<li><a href="#">Button 3</a></li>
<li><a href="#">Button 4</a></li>
<li><a href="#">Button 5</a></li>
</ul>
</div>
</div>
<!-- end: main navigation -->
Das ganze habe ich Navigation genannt. die lib lautet: lib.field_navigation und ist als TypScript-Objektpfad gespeichert.
Hier muss ich nun aus dem lib.field_navigation einfach lib.freeCssDropDownMenu.horizontal machen? Wenn ja, dann sehe ich noch immer kein Menü bei mir.
Gruß tobli
Normalerweise sollte es kein Problem sein das Menü in TV zu mappen.
Es besteht ja nur aus Typoscript und CSS/JS.
Du kannst mal im Typo3 ObjectBrowser durch die Struktur des Typoscript Templates gehen und schauen ob der gemappte Objectpath auch existiert.
Der müsste ja ein HMENU mit TMENU Ebenen sein.
Hallo,
in der Setup-Wurzel taucht unter lib. -> freeCssDropDownMenu
[hoizontal] = HMENU
[1] = TMENU
[2] = TMENU
[3] = TMENU
[4] = TMENU
[5] = TMENU
Allerdings erhalte ich oben schon einer Warnung, was auch immer dies bedeuten mag. (evtl nicht zugewiesen oder sowas??)
Fehler und Warnungen
2: Line 4897: Object Name String, "lib.freeCssDropDownMenu.horizontal" was not preceded by any operator, =<>({
Gruß Tobli
Hallo tobli,
ich bekomme keinerlei Fehlermeldung im Object Browser.
Habe es soeben getestet.
Das ganze sollte so aussehen wie im Anhang.

Hallo jank,
anbei mein Screenshot von dem Bereich
Gruß Tobli
