Problem ab TYPO3 4.6: Verhalten HMENU; Verweis auf Unterseite (Startseite) [Gelöst]

  • kolki kolki
    Jedi-Ratsmitglied
    0 x
    935 Beiträge
    0 Hilfreiche Beiträge
    02. 05. 2012, 20:06

    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?


  • 1
  • LuP LuP
    Jedi-Meister
    0 x
    496 Beiträge
    0 Hilfreiche Beiträge
    02. 05. 2012, 21:43

    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.

    1. + meineseite.de [1] (Root als Startseite)
    2. + -- Kontakt [2]
    3. + -- Impressum [3]
    4. + -- News [4]
    5. + -- Cat 1 [5]
    6. + -- Cat 2 [6]

    1. lib.mainmenu_1 = HMENU
    2. lib.mainmenu_1 {
    3. special = list
    4. entryLevel = 0
    5. special.value = 1
    6. 1 = TMENU
    7. 1 {
    8. //...
    9. }
    10. 2 < .1
    11. }
    12.  
    13. lib.mainmenu_2 < lib.mainmenu_1
    14. lib.mainmenu_2 {
    15. entryLevel = 1
    16. special.value = 2,3,4,5,6
    17. }

    VG.
    LuP

  • kolki kolki
    Jedi-Ratsmitglied
    0 x
    935 Beiträge
    0 Hilfreiche Beiträge
    03. 05. 2012, 11:34

    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ü:

    1. lib.mainmenu_1 = HMENU
    2. lib.mainmenu_1 {
    3. special = list
    4. entryLevel = 0
    5. special.value = 1
    6.  
    7. # erstes level
    8. 1 = TMENU
    9. 1.wrap = <ul> | </ul>
    10. 1{
    11. # no state: normale Formatierung
    12. NO{
    13. wrapItemAndSub = <li class="menu-left">|</li>
    14. }
    15. # act state: gültig von der rootseite bis zur aktuellen Seite
    16. ACT=1
    17. ACT{
    18. wrapItemAndSub = <li class="menu-left">|</li>
    19. }
    20. # cur state: gültig für die aktuelle Seite
    21. CUR=1
    22. CUR{
    23. wrapItemAndSub = <li class="menu-left-active">|</li>
    24. }
    25. # ifsub state: gültig für seiten die unterseiten haben
    26. wrapItemAndSub = <li class="menu-left">|</li>
    27. }
    28.  
    29. SPC = 1
    30. SPC{
    31. wrapItemAndSub = <li class="spc">|</li>
    32. }
    33. }
    34. # zweites level
    35. 2 = TMENU
    36. 2.wrap = |
    37. 2{
    38. NO{
    39. wrapItemAndSub = <li class="menu-left-1">|</li>
    40. }
    41. ACT=1
    42. ACT{
    43. wrapItemAndSub = <li class="menu-left-1-active">|</li>
    44. }
    45. CUR=1
    46. CUR{
    47. wrapItemAndSub = <li class="menu-left-1-active">|</li>
    48. }
    49. wrapItemAndSub = <li class="menu-left-1">|</li>
    50. }
    51. }
    52. # drittes level
    53. 3 = TMENU
    54. 3.wrap = |
    55. 3{
    56. NO{
    57. wrapItemAndSub = <li class="menu-left-2">|</li>
    58. }
    59. ACT=1
    60. ACT{
    61. wrapItemAndSub = <li class="menu-left-2">|</li>
    62. }
    63. CUR=1
    64. CUR{
    65. wrapItemAndSub = <li class="menu-left-2-active">|</li>
    66. }
    67. wrapItemAndSub = <li class="menu-left-2">|</li>
    68. }
    69. }
    70. }
    71. lib.mainmenu_2 < lib.mainmenu_1
    72. lib.mainmenu_2 {
    73. entryLevel = 1
    74. special.value = 2,3,4,5,6
    75. }
    76.  
    77.  
    78.  
    79. /*
    80.  subparts.SUBMENU = COA
    81.  subparts.SUBMENU {
    82.   wrap = <div class="secNav">|</div>
    83.   10 = TEXT
    84.   10 {
    85.   data = leveltitle:-1
    86.   noTrimWrap = ||: |
    87.   }
    88.   20 = HMENU
    89.   20 {
    90.   special = directory
    91.   special.data = leveluid:-1
    92.   1 = TMENU
    93.   1 {
    94.   NO.allWrap = |&nbsp;&#124;&nbsp;
    95.   }
    96.   }
    97.  }
    98.  
    99.  #############################
    100. # Seitentitel Level1 setzen #
    101. #############################
    102. pageTitle = TEXT
    103. pageTitle.value = {leveltitle:1}
    104. pageTitle.insertData = 1
    105. pageTitle.wrap = <span id="current-site">|</span>
    106.  */

  • LuP LuP
    Jedi-Meister
    0 x
    496 Beiträge
    0 Hilfreiche Beiträge
    03. 05. 2012, 13:42

    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:

    1. - Startseite [1] (Root)
    2. + Unterseite1 [2]
    3. + -- Unterseite11 [4]
    4. + -- Unterseite12 [5]
    5. + Unterseite2 [3]
    6. + -- Unterseite21 [6]
    7. + usw.
    8.  
    9. <div id="mainmenu">
    10. <ul class="level1">
    11. <li>Startseite</li>
    12. </ul>
    13. <ul class="level1">
    14. <li>
    15. Unterseite1
    16. <ul class="level2">
    17. <li>Unterseite11</li>
    18. <li>Unterseite12</li>
    19. </ul>
    20. <li>
    21. <li>
    22. Unterseite2
    23. <ul>
    24. <li>Unterseite21</li>
    25. </ul>
    26. </li>
    27. </ul>
    28. </div>

    1. lib.mainmenu_2 = HMENU
    2. lib.mainmenu_2 {
    3. special = list
    4. entryLevel = 1
    5. special.value = 2,3
    6.  
    7. # erstes level
    8. 1 = TMENU
    9. 1.wrap = <ul class="level1"> | </ul>
    10. 1{
    11. # no state: normale Formatierung
    12. NO{
    13. wrapItemAndSub = <li class="menu-left">|</li>
    14. }
    15. # act state: gültig von der rootseite bis zur aktuellen Seite
    16. ACT=1
    17. ACT{
    18. wrapItemAndSub = <li class="menu-left">|</li>
    19. }
    20. # cur state: gültig für die aktuelle Seite
    21. CUR=1
    22. CUR{
    23. wrapItemAndSub = <li class="menu-left-active">|</li>
    24. }
    25. # ifsub state: gültig für seiten die unterseiten haben
    26. wrapItemAndSub = <li class="menu-left">|</li>
    27. }
    28.  
    29. SPC = 1
    30. SPC{
    31. wrapItemAndSub = <li class="spc">|</li>
    32. }
    33. }
    34.  
    35. # zweites level
    36. 2 = TMENU
    37. 2.wrap = <ul class="level2"> | </ul>
    38. 2{
    39. NO{
    40. wrapItemAndSub = <li class="menu-left-1">|</li>
    41. }
    42. ACT=1
    43. ACT{
    44. wrapItemAndSub = <li class="menu-left-1-active">|</li>
    45. }
    46. CUR=1
    47. CUR{
    48. wrapItemAndSub = <li class="menu-left-1-active">|</li>
    49. }
    50. wrapItemAndSub = <li class="menu-left-1">|</li>
    51. }
    52. }
    53. # drittes level
    54. 3 = TMENU
    55. 3.wrap = <ul class="level3"> | </ul>
    56. 3{
    57. NO{
    58. wrapItemAndSub = <li class="menu-left-2">|</li>
    59. }
    60. ACT=1
    61. ACT{
    62. wrapItemAndSub = <li class="menu-left-2">|</li>
    63. }
    64. CUR=1
    65. CUR{
    66. wrapItemAndSub = <li class="menu-left-2-active">|</li>
    67. }
    68. wrapItemAndSub = <li class="menu-left-2">|</li>
    69. }
    70. }
    71. }
    72.  
    73. lib.mainmenu_1 < lib.mainmenu_2
    74. lib.mainmenu_1 {
    75. entryLevel = 0
    76. special.value = 1
    77.  
    78. 2 >
    79. 3 >
    80. }

    VG,
    LuP

  • kolki kolki
    Jedi-Ratsmitglied
    0 x
    935 Beiträge
    0 Hilfreiche Beiträge
    04. 05. 2012, 10:06

    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?

  • kolki kolki
    Jedi-Ratsmitglied
    0 x
    935 Beiträge
    0 Hilfreiche Beiträge
    04. 05. 2012, 17:30

    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!

  • 1