Problem ab TYPO3 4.6: Verhalten HMENU; Verweis auf Unterseite (Startseite)
| Autor | Nachricht |
|---|---|
|
Verfasst am: 02. 05. 2012 [20:06]
|
|
|
kolki
Themenersteller
Dabei seit: 04.08.2006
Beiträge: 917
|
Hallo, ich suche und probiere schon den ganzen Tag, aber es will nicht gelingen. Ich habe TYPO3 4.5x auf 4.6x bzw. 4.7 geupdatet. Der Verweis auf meine Startseite funktioniert aber nicht mehr wie zuvor: Anscheinend wurde mit TYPO3 4.6 ein neues Verhalten eingeführt, wie TYPO3 Verweise durchführt. Im Zusammenspiel mit simulatestatic führt das allerdings zu dem Problem, dass viele Seiten nachdem man die Seite aufruft so aussehen: meineseite.de/Startseite.2.0.html statt meineseite.de So sieht der Aufbau aus: + meineseite.de (Root mit Verweis auf Startseite) + -- Startseite + -- Kontakt + -- Impressum Ich könnte zwar den Baum so aufbauen: + meineseite.de (Root) + -- Startseite (Verweis auf Root) + -- Kontakt + -- Impressum das hat aber den Nachteil, dass "Startseite" nie im Hauptmenü als Status Activ bzw. Cur bekommen kann. Die Frage ist also: Wie kann ich es lösen, dass "Startseite" im Menü den Status ACT bzw. CUR erhält und gleichzeitig die URL "meineseite.de/" erhalten bleibt und nicht "meineseite.de/Startseite.2.0.html" aufgerufen wird? Bis TYPO3 4.6 ging das ohne Probleme. Die Seite besitzt ein horizontales und vertikales Menü. Ich habe auch versucht, aus dem Verweis der Rootseite eine Seite (Typ: Standart) zu machen und dabei für das vertikale Menü je nach Level mehrere Menüs mit unterschiedlichem entryLevel zu benutzen. Alles ohne Erfolg. Wer hat dieses Problem auch schon lösen müssen bzw. weiß hier Rat? |
|
Verfasst am: 02. 05. 2012 [21:43]
|
|
|
LuP
Dabei seit: 12.04.2007
Beiträge: 493
|
Hallo, darüber wird kontrovers diskutiert: - TYPO3 4.6 (Change I4199cb8c) Verweis Redirect Problem mit HMENU - Redirect to Shortcut target feature in 4.6 break news feed link - TYPO3 4.6 (Change I4199cb8c) Redirect Problem Ich würde das Hauptmenü in 2 Teilmenüs splitten, Root als Startseite wählen (Verweis weg) und auf entryLevel sowie special setzen. HTML + meineseite.de [1] (Root als Startseite)
+ -- Kontakt [2]
+ -- Impressum [3]
+ -- News [4]
+ -- Cat 1 [5]
+ -- Cat 2 [6]TYPOSCRIPT lib.mainmenu_1 = HMENU lib.mainmenu_1 { special = list entryLevel = 0 special.value = 1 1 = TMENU 1 { //... } 2 < .1 } lib.mainmenu_2 < lib.mainmenu_1 lib.mainmenu_2 { entryLevel = 1 special.value = 2,3,4,5,6 } VG. LuP [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 02.05.2012 um 21:44.] |
|
Verfasst am: 03. 05. 2012 [11:34]
|
|
|
kolki
Themenersteller
Dabei seit: 04.08.2006
Beiträge: 917
|
Hab recht vielen Dank LuP für Deine Hilfe. Allein ich krieg es nicht gebacken. Zunächst will ich hier mal zeigen, wie es eigentlich aussehen soll (bis auf die lästige URL aufgrund des Redirects auf Startseite2). Strukturell ist es momentan noch so: + meineseite.de (Root mit Verweis auf Startseite) + -- Startseite + ----- Verweis auf Unterseite1 + ----- Verweis auf Unterseite2 + ----- usw. + -- Unterseite1 + -- Unterseite2 + -- usw. Ich habe es jetzt so getestet, wie Du vorgeschlagen hast. Leider ohne Erfolg. Ganz sicher habe ich irgend etwas nicht verstanden. Am Ende hatte ich auf allen Seiten im linken Menü ausschließlich nur einen Link zur Startseite. Hier mein angepasstes (sicherlich fehlerhaftes) Menü: TYPOSCRIPT lib.mainmenu_1 = HMENU lib.mainmenu_1 { special = list entryLevel = 0 special.value = 1 # erstes level 1 = TMENU 1.wrap = <ul> | </ul> 1{ # no state: normale Formatierung NO{ wrapItemAndSub = <li class="menu-left">|</li> } # act state: gültig von der rootseite bis zur aktuellen Seite ACT=1 ACT{ wrapItemAndSub = <li class="menu-left">|</li> } # cur state: gültig für die aktuelle Seite CUR=1 CUR{ wrapItemAndSub = <li class="menu-left-active">|</li> } # ifsub state: gültig für seiten die unterseiten haben IFSUB=1 IFSUB{ wrapItemAndSub = <li class="menu-left">|</li> } SPC = 1 SPC{ wrapItemAndSub = <li class="spc">|</li> } } # zweites level 2 = TMENU 2.wrap = | 2{ NO{ wrapItemAndSub = <li class="menu-left-1">|</li> } ACT=1 ACT{ wrapItemAndSub = <li class="menu-left-1-active">|</li> } CUR=1 CUR{ wrapItemAndSub = <li class="menu-left-1-active">|</li> } IFSUB=1 IFSUB{ wrapItemAndSub = <li class="menu-left-1">|</li> } } # drittes level 3 = TMENU 3.wrap = | 3{ NO{ wrapItemAndSub = <li class="menu-left-2">|</li> } ACT=1 ACT{ wrapItemAndSub = <li class="menu-left-2">|</li> } CUR=1 CUR{ wrapItemAndSub = <li class="menu-left-2-active">|</li> } IFSUB=1 IFSUB{ wrapItemAndSub = <li class="menu-left-2">|</li> } } } lib.mainmenu_2 < lib.mainmenu_1 lib.mainmenu_2 { entryLevel = 1 special.value = 2,3,4,5,6 } /* subparts.SUBMENU = COA subparts.SUBMENU { wrap = <div class="secNav">|</div> 10 = TEXT 10 { data = leveltitle:-1 noTrimWrap = ||: | } 20 = HMENU 20 { special = directory special.data = leveluid:-1 1 = TMENU 1 { NO.allWrap = | | } } } ############################# # Seitentitel Level1 setzen # ############################# pageTitle = TEXT pageTitle.value = {leveltitle:1} pageTitle.insertData = 1 pageTitle.wrap = <span id="current-site">|</span> */ |
|
Verfasst am: 03. 05. 2012 [13:42]
|
|
|
LuP
Dabei seit: 12.04.2007
Beiträge: 493
|
Hallo, in meinem Fall habe ich auf sämtliche Verweise verzichtet. Wenn die Rootseite (Startseite) gerade aktiv ist, werden deren Unterseiten nicht angezeigt. Stattdessen werden diese in einem separaten Menü darunter angehängt. Im Endeffekt möchte ich also folgende Menüstruktur erreichen: HTML - Startseite [1] (Root) + Unterseite1 [2] + -- Unterseite11 [4] + -- Unterseite12 [5] + Unterseite2 [3] + -- Unterseite21 [6] + usw. <div id="mainmenu"> <ul class="level1"> <li>Startseite</li> </ul> <ul class="level1"> <li> Unterseite1 <ul class="level2"> <li>Unterseite11</li> <li>Unterseite12</li> </ul> <li> <li> Unterseite2 <ul> <li>Unterseite21</li> </ul> </li> </ul> </div> TYPOSCRIPT lib.mainmenu_2 = HMENU lib.mainmenu_2 { special = list entryLevel = 1 special.value = 2,3 # erstes level 1 = TMENU 1.wrap = <ul class="level1"> | </ul> 1{ # no state: normale Formatierung NO{ wrapItemAndSub = <li class="menu-left">|</li> } # act state: gültig von der rootseite bis zur aktuellen Seite ACT=1 ACT{ wrapItemAndSub = <li class="menu-left">|</li> } # cur state: gültig für die aktuelle Seite CUR=1 CUR{ wrapItemAndSub = <li class="menu-left-active">|</li> } # ifsub state: gültig für seiten die unterseiten haben IFSUB=1 IFSUB{ wrapItemAndSub = <li class="menu-left">|</li> } SPC = 1 SPC{ wrapItemAndSub = <li class="spc">|</li> } } # zweites level 2 = TMENU 2.wrap = <ul class="level2"> | </ul> 2{ NO{ wrapItemAndSub = <li class="menu-left-1">|</li> } ACT=1 ACT{ wrapItemAndSub = <li class="menu-left-1-active">|</li> } CUR=1 CUR{ wrapItemAndSub = <li class="menu-left-1-active">|</li> } IFSUB=1 IFSUB{ wrapItemAndSub = <li class="menu-left-1">|</li> } } # drittes level 3 = TMENU 3.wrap = <ul class="level3"> | </ul> 3{ NO{ wrapItemAndSub = <li class="menu-left-2">|</li> } ACT=1 ACT{ wrapItemAndSub = <li class="menu-left-2">|</li> } CUR=1 CUR{ wrapItemAndSub = <li class="menu-left-2-active">|</li> } IFSUB=1 IFSUB{ wrapItemAndSub = <li class="menu-left-2">|</li> } } } lib.mainmenu_1 < lib.mainmenu_2 lib.mainmenu_1 { entryLevel = 0 special.value = 1 2 > 3 > } VG, LuP |
|
Verfasst am: 04. 05. 2012 [10:06]
|
|
|
kolki
Themenersteller
Dabei seit: 04.08.2006
Beiträge: 917
|
Hab recht vielen Dank. Der Erfolg hat sich beim gestrigen Testen leider noch nicht eingestellt (weiß auch nicht, was da noch verkehrt gewesen sein soll), hattest mir doch eine gute Vorlage gegeben. Sicherlich setze ich mich am WE noch einmal damit auseinander. Da kommt mir in den Sinn: Sollte man das ganze nicht auch mittels mode_rewrite lösen können. Meine Versuche dahingehend waren bis jetzt erfolglos. Oder kennt jemand die entsprechende Stelle im Core, die seit 4.6 geändert wurde? |
|
Verfasst am: 04. 05. 2012 [17:30]
|
|
|
kolki
Themenersteller
Dabei seit: 04.08.2006
Beiträge: 917
|
Da hat mir anscheinend irgend ein Cache oder TYPO3 selbst (template on next level, Vererbung usw.) eine ganze Zeit lang einen Streich gepielt und meine Einstellungen ignoriert und/oder unzulässig weiter vererbt. Ich hab keine Ahnung was da war. Jedenfalls läuft jetzt alles - very nice! Am Ende ist es eine Kombination aus deiner Vorlage und meinem Menü geworden. Ick freu mir - und besten Dank, LuP! |



