Zum Inhalt springen

HMENU special = list: Reihenfolge der Unterpunkte?

Erstellt am 15. Juli 2013 · 6 Antworten · letzte Antwort am 23. Juli 2013

Tags: Frage

Mopps ·

Hallo,

ich habe folgendes Menü

temp.nav = COA
temp.nav {
  
  10 = HMENU
  10 {
    entryLevel = 0
    wrap = <ul><li> | </li></ul>
    special = list
    special.value = 4,5,6,7,8
    
    1 = TMENU
    1 {
      wrap = <ul> | </ul>
      noBlur = 1
      expAll = 1
      
      NO = 1
      NO {
        ATagTitle.field = title
        wrapItemAndSub = <li> | </li>
        
        stdWrap.cObject = COA
        stdWrap.cObject {
          wrap = |
          
          10 = TEXT
          10 {
            wrap = <strong> | </strong>
            field = nav_title // title
          }
          
          20 = TEXT
          20 {
            wrap = <span> | </span>
            field = subtitle
          }
        }
      }
    }
    
    2 < .1
    2 {
      wrap = <ul><li class="leftmargin"></li><li class="pagecontent"><ul> | </ul></li><li class="rightmargin"></li></ul>
      NO.stdWrap.cObject {
        10.wrap = |
        20 >
      }
    }
    
    3 < .1
    3 {
      NO.stdWrap.cObject {
        10.wrap = |
        20 >
      }
    }
  }
}

Die Ausgabe im FE passt soweit. Allerdings werden mir die Unterpunkte nach der ID der jeweiligen Seite ausgegeben. Also erst Seiten-ID 44, dann 45, 46, usw. Wenn ich im Backend die Seite mit der ID 46 vor die Seite mit 44 verschiebe, dann ändert sich im FE gar nichts. Das hatte ich noch nie oder es ist mir noch nie aufgefalle.

Wie kann ich dieses Verhalten aber ändern? Die Reihenfolge der Unterseiten soll so wie im Backend sein.

alternativeSortingField habe ich bereits probiert, aber anscheinend geht das zusammen mit special = list auch nicht (?).

Irgendwie muss es doch aber eine Lösung geben. Stehe voll auf dem Schlauch #paralyzed#

Norman2k ·

Welche TYPO3-Version? In 4.5 funktioniert dein TS so wie es soll. Auch kann ich mit alternativeSortingField die Sortierung beeinflussen.
Überschreibst du eventuell irgendwo dein Typoscript?

Mopps ·

TYPO3 4.7.12

Im TSref steht zu alternativeSortingField:
"LIMITATIONS: This property works with normal menus, sectionsIndex menus and special-menus of type "directory"."
Ist damit special = list ausgeschlossen?

"Überschreibst du eventuell irgendwo dein Typoscript?"
No

Mopps ·
karlchen schrieb

in special = list definierst du doch selbst die Reihenfolge mit special.value = 4,5,6,7,8 ?

Das ist klar. Diese Reihenfolge ist so gewollt. Es geht um deren Unterseiten. Die kommen nicht in der Reihenfolge wie sie im Backend sortiert sind, sondern anscheind nach Seiten-ID aufsteigend.

Mopps ·

Prinzipiell ist es gelöst, allerdings verstehe ich nicht warum #paralyzed#

Ich habe versucht unter dem obigen Code das Menü neu aufzubauen, um evtl. den Fehler irgendwo zu finden. Deswegen habe ich unter dem obigen TS-Code

temp.nav >

eingefügt, um "nav" zu leeren. Das neue Menü ging und nach allem vergleichen usw. habe ich festgestellt, dass es nur das "temp.nav >" sein kann. Das habe ich dann vor den obigen Code gesetzt, fertig und gut.

Sorry, aber das kapier ich nicht. Ich habe meine ganzen Templates durchgesucht und kann nirgends etwas finden, wo tem.nav evtl. schon mit irgend etwas gefüllt wurde. Da ist nichts.

Kann es sein, dass nav generell eine "reservierte" Bezeichnung ist, die bereits gewisse Eigenschaften hat. Ich benutze für meine Navigation immer "nav" und konnte so etwas noch nie beobachten.

Unbekannter Benutzer ·

Nein, die Bezeichnungen sind völlig frei definierbar und in temp gibt es nichts vordefiniertes (naja eventuell in irgendwelchen exotischen Extensions, keine Ahnung).

Muss also irgendwo definiert gewesen sein. Lässt sich aber eigentlich über TS Object Browser und Analyser rausfinden.