Zum Inhalt springen

Content-Menü mit Formatierung über "Type" (Layout1, Layout2,...)

Erstellt am 6. Mai 2013 · 1 Antwort · letzte Antwort am 7. Mai 2013

Tags: Inhaltselemente, Frage

fl0sch ·

Ich habe bereits ein Menü das den Content auswertet:

http://www.typo3wizard.com/de/snippets/menus/content-element-navigation.html

Allerdings würde ich gerne die einzelnen Einträge des MEnüs je nach gewähltem Layout ( was man im Backend unter "Type" einstellt) formatieren.

Ich vermute, dass man das über "CASE" und Wrap realisieren kann, da ich aber selber erst seit ein paar Wochen mit TYPO3 arbeite verstehe ich die Zusammenhänge bzw. Mechanismen von TYPO3 noch nicht so ganz und bin leider noch nicht in der Lage das richtig einzusetzen.

Vielleicht kann mir hier der eine oder andere ein paar Tipps geben wie ich das umgesetzt bekomme?

Mein bisheriger Ansatz:

temp.contentnav = CONTENT
temp.contentnav {
  table = tt_content
  select {
    pidInList = this
    orderBy = sorting
    where = colPos=0
    languageField=sys_language_uid
     
  }
  renderObj = TEXT
  renderObj {
    field = header 
#    wrap=<div> X|</div>
    typolink.parameter.field=pid
    typolink.parameter.dataWrap=|#{field:uid}
    if.isTrue.field=header

    stuff = CASE
    stuff.key.field = type
    stuff.default = TEXT
    stuff.default {
      wrap=<div class="_H1"><</div>
    }
    stuff.1 {
      wrap=<div class="_H1">|</div>
    }
    stuff.2 {
      wrap=<div class="_H2">|</div>
    } 
  }   
}

Der funktioniert aber nicht wie gewünscht.

Muss ich das komplette "renderObj" hier jeweils in Abhängigkeit des CASE erstellen? Ich würde ja vermuten, dass es da auch eine einfachere Lösung gibt?

Lassen sich eigentlich "stuff.default" und "stuff.1" zusammenfassen, z.B. durch ein

stuff.1 < stuff.default

?

fl0sch ·

Ich habe das Problem gelöst, zum einen habe ich das Case-System jetzt halbwegs begriffen, zum anderen bin ich bei "key.field" von einem falschen Wert ausgegangen, da muss ich "header_layout" benutzen, dann klappt es auch mit der richtigen Formatierung.