TMENU einmal aus Ankern einmal aus Unterseiten
| Autor | Nachricht |
|---|---|
|
Verfasst am: 04. 08. 2010 [14:58]
|
|
|
terrierace
Themenersteller
Dabei seit: 11.05.2010
Beiträge: 6
|
Einen schönen Tag, folgende Situation: Eine Seitenstruktur mit momentan 2 Ebenen. Entsprechende Menüs für Unterseiten sind kein Problem. ABER: Mein Versuch für zwei meiner Seite ein Menü aus Ankern auf die Eigene Seite scheitern behaarlich. Das Ankermenü allein funktioniert aber eben nicht in Kombination! ![]() Den Knackpunkt sind die letzten paar Zeilen mit der Bedingung. Unterscheiden tun sich die Beiden Menüs "menuZweiteEbene" und "menuZweiteEbeneAnker" nur durch die beiden Zeilen " sectionIndex = true sectionIndex = header ". Doch mein Versuch nur die beiden Zeilen durch eine Bedingung für die beiden Seiten zu aktivieren ist ebenfalls gescheitert. Kann das PlugIn "realURL" da vieleicht mit zwischenfunkten? Die Seiten-IDs bleiben doch aber geleich! TYPOSCRIPT menuZweiteEbene = TMENU menuZweiteEbene { wrap = <ul class="ZweiteEbene">|</ul> NO = 1 NO.stdWrap2.wrap = <li class="nav_subelem"> | </li> CUR = 1 CUR < .NO CUR.ATagParams = class="activ" CUR.stdWrap.wrap = | ACT = 1 ACT = .CUR } menuZweiteEbeneAnker = TMENU menuZweiteEbeneAnker { wrap = <ul class="ZweiteEbene">|</ul> sectionIndex = true sectionIndex = header NO = 1 NO.stdWrap2.wrap = <li class="nav_subelem_anker"> | </li> CUR = 1 CUR < .NO CUR.ATagParams = class="activ" CUR.stdWrap.wrap = | ACT = 1 ACT = .CUR } hauptmenu = COA hauptmenu { wrap = <ul> | </ul> entryLevel = 0 5 < startseiteneintrag # Seitenbaum 10 = HMENU 10 { entryLevel = 0 # erste Ebene 1 < menuErsteEbene # zweite Ebene 2 < menuZweiteEbene #[PIDinRootline = 18] [globalVar = TSFE:id=18, TSFE:id=19] 2 < menuZweiteEbeneAnker [end] } } Any hints? "Ein Tag an dem man nicht gelacht hat, ist ein verlorener Tag!" (frei nach Charlie Chaplin)
|
|
Verfasst am: 31. 08. 2010 [16:57]
|
|
|
shado
Dabei seit: 05.08.2009
Beiträge: 12
|
Hallo terrierace, ich hatte das selbe Problem und konnte es mit der Hilfe von kompetenten Typo3 IRC-lern relativ schnell lösen! Mit dem Section-Index hatte ich gar keinen Erfolg, daher habe ich folgendes Snippet verwendet: (Quelle) TYPOSCRIPT # TS Code temp.anchorMenu = CONTENT temp.anchorMenu { table = tt_content select { pidInList = this orderBy = sorting where = colPos=0 languageField=sys_language_uid } wrap = <ul>|</ul> renderObj = TEXT renderObj { field = header dataWrap= <li><a href="#c{field:uid}">|</a> </li> } } Angepasst und richtig eingefügt sieht das ganze in meinem Beispiel dann so aus: TYPOSCRIPT ## navSub [Begin] lib.navSub = COA lib.navSub.10 = HMENU lib.navSub.10.entryLevel = 1 lib.navSub.10.wrap = <ul>|</ul> lib.navSub.10.1 = TMENU lib.navSub.10.1.NO = 1 lib.navSub.10.1.NO { allWrap = <li>|</li> } lib.navSub.10.1.ACT = 1 lib.navSub.10.1.ACT { allWrap = <li>|</li> } temp.navSubAnchors = CONTENT temp.navSubAnchors { table = tt_content select { pidInList = this orderBy = sorting where = colPos=0 languageField=sys_language_uid } wrap = <ul>|</ul> renderObj = TEXT renderObj { field = header dataWrap= <li><a href="#c{field:uid}">|</a> </li> } } lib.navSub.10.1.ACT.after.cObject < temp.navSubAnchors ## navSub [End] Das ganze gibt dann folgendes Menü aus: > Seite 1 > Seite 2 (ACT) >> Anker 1 von Seite 2 >> Anker 2 von Seite 2 >> ... > Seite 3 > ... Grüße, -dc www.domaintechnik.at |
|
Verfasst am: 02. 09. 2010 [08:01]
|
|
|
terrierace
Themenersteller
Dabei seit: 11.05.2010
Beiträge: 6
|
@shado vielen dank für den Lösungsansatz Ich hab das Problem Montag dann doch endlich selbst gelöst. Man muss die Bedingung: TYPOSCRIPT #[PIDinRootline = 18] [globalVar = TSFE:id=18, TSFE:id=19] 2 < menuZweiteEbeneAnker [end] außerhalb jeglicher Objektdefinition (in meinem fall von "hauptmenu" Meine Lösung: TYPOSCRIPT menuZweiteEbeneAnker = TMENU menuZweiteEbeneAnker { wrap = <ul class="ZweiteEbene">|</ul> sectionIndex = true NO = 1 NO.stdWrap2.wrap = <li class="nav_subelem_anker"> | </li> CUR = 1 CUR < .NO CUR.ATagParams = class="activ" CUR.stdWrap.wrap = | ACT = 1 ACT = .CUR } hauptmenu = COA hauptmenu { wrap = <ul> | </ul> entryLevel = 0 5 < startseiteneintrag # Seitenbaum 10 = HMENU 10 { entryLevel = 0 # erste Ebene 1 < menuErsteEbene # zweite Ebene 2 < menuZweiteEbene } } [globalVar = TSFE:id = 18, TSFE:id = 19] hauptmenu.10.2 < menuZweiteEbeneAnker [global] Entscheidend ist die Verlegung der letzten 3 Zeilen aus der Objektdefinition heraus. ![]() Kann man leider nirgendwo nachlesen. Also hab ich ein Untermenü mit Ankern und eins ohne definiert und dann die Bedingung gesetzt wann das Untermenü durch das Ankermenü ersetzt werden soll. Trotzdem nochmal vielen Dank für deine Lösung. [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 02.09.2010 um 08:03.] "Ein Tag an dem man nicht gelacht hat, ist ein verlorener Tag!" (frei nach Charlie Chaplin)
|
|
Verfasst am: 02. 09. 2010 [09:10]
|
|
|
igorshmigor
Dabei seit: 17.03.2006
Beiträge: 839
|
terrierace schrieb: Kann man leider nirgendwo nachlesen. Das stimmt nicht ganz, es ist hier beschrieben: http://typo3.org/documentation/document-library/core-documentation/doc_core_ts/4.2.0/view/1/2/#id4124614 weiter unten unter der Überschrift "Where to insert conditions in TypoScript?" Gut dokummentiert und übersichtlich zusammengefasst ist die TypoScript Syntax auch in der TypoScript kurz & gut Referenz von O'Reilly. Sehr empfehlenswert! |
|
Verfasst am: 03. 09. 2010 [08:08]
|
|
|
terrierace
Themenersteller
Dabei seit: 11.05.2010
Beiträge: 6
|
@igorshmigor danke für den Hinweis auf die Bücher. Leider scheint sich keiner so wirklich dieser Problematik bewusst zu sein, da weder hier noch in anderen Foren das als Fehlerquelle erkannt wurde. Allen interessierten Mitlesern trotzdem danke und viel Spass beim basteln. "Ein Tag an dem man nicht gelacht hat, ist ein verlorener Tag!" (frei nach Charlie Chaplin)
|
|
Verfasst am: 03. 09. 2010 [08:48]
|
|
|
igorshmigor
Dabei seit: 17.03.2006
Beiträge: 839
|
terrierace schrieb: Leider scheint sich keiner so wirklich dieser Problematik bewusst zu sein, [...] Das würde ich so nicht sagen. Gib mal "conditions klammern" als Suchbegriff in diesem Forum ein. Es wurde schon in vielen Threads darauf hingewiesen. [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 03.09.2010 um 08:49.] |
|
Verfasst am: 06. 09. 2010 [10:23]
|
|
|
terrierace
Themenersteller
Dabei seit: 11.05.2010
Beiträge: 6
|
Tja, jetzt wo ich weiss das es an den Klammern lag kann ich natürlich auch die richtigen Suchbegriffe eingeben. Hinterher ist man immer schlauer Hät ja auch sein können, dass mein eigentlicher Ansatz schon von der Logik her falsch war. Meine Äußerung hat sich lediglich auf das Erkennen des Zusammenhangs zwischen meinem Code-Problem und dem Thema "conditions klammern" bezogen und dieses Erkennen hat nun mal weder hier im Forum noch in anderen funktioniert. Ich danke jedenfalls allen die sich bemüht haben und die Lösung ist ja auch gefunden. Was will man mehr!? "Ein Tag an dem man nicht gelacht hat, ist ein verlorener Tag!" (frei nach Charlie Chaplin)
|





