Content-Wrap in Abhängigkeit von Untermenü [Gelöst]

  • iomorph iomorph
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    11. 07. 2007, 11:49

    Hallo da draußen,

    hat zufällig jemand einen Tip für mich, wie man im TypoScript den Contentbereich anders wrappen kann je nachdem ob es Unterseiten zu der aktuellen Seite gibt oder nicht?
    Also nicht das Menü soll anders gewrapped werden sondern der Inhalt.
    Ich weiß weder mit Conditions noch mit if-Abfrage wie ich diesen Bezug zwischen Menü und Inhalt herstellen könnte.

    Hilfe wäre ganz ganz großartig.
    Danke

    Karin


  • 1
  • 0 x
    3270 Beiträge
    157 Hilfreiche Beiträge
    11. 07. 2007, 14:56

    Hallo Karin.

    Müsste gehen, indem Du mit Registern arbeitest.

    Bei der Menüerzeugung kannst das Register auf einen bestimmten Wert setzen,w enn ein untermenü aufgebaut wird (also Unterseiten da sind). Vor der Ausgabe des Contents kannst Du dann abfragen, welcher Wert im Register steht, und entsprechend wrappen.

    Viele Grüße
    Julian

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • iomorph iomorph
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    11. 07. 2007, 17:34

    Hallo Julian,

    danke für die schnelle Antwort.
    Mit Registern habe ich es schon mal versucht, schaffe es aber offensichtlich nicht das richtig anzuwenden.

    Mein TypoScript sieht etwa so aus:

    [TS]###########
    # das Menü
    ###########
    temp.MENUE = HMENU
    temp.MENUE.special = list
    temp.MENUE.entryLevel = 0
    temp.MENUE.1 = TMENU
    temp.MENUE.1.collapse = 0
    temp.MENUE.1.noBlur = 1
    temp.MENUE.1.NO{
    stdWrap.htmlSpecialChars = 1
    linkWrap = |
    }
    ################
    # das Untermenü
    ################
    temp.MENUE.2 = TMENU
    temp.MENUE.2.expAll = 0
    temp.MENUE.2.collapse = 0
    temp.MENUE.2.noBlur = 1
    temp.MENUE.2.NO{
    stdWrap.htmlSpecialChars = 1
    linkWrap = |
    }

    #############
    # der Inhalt
    #############
    temp.CONTENT < styles.content.get
    temp.CONTENT = CONTENT
    temp.CONTENT{
    table = tt_content
    select.where = colPos = 0
    }
    temp.CONTENT.wrap = <div> | </div>

    [/TS]

    Wie genau baue ich Register da so ein, dass ich Einfluß auf temp.CONTENT.wrap habe? Ich versteh es leider nicht.

    Gruß
    Karin

  • 0 x
    3270 Beiträge
    157 Hilfreiche Beiträge
    12. 07. 2007, 12:19

    Hallo Karin.

    Mit Registern hab ich bisher auch noch nicht viel Erfahrung (machen müssen). Etwas problematisch sehe ich, dass Du das Register in einem Objekt setzen und im anderen auswerten müsstest...

    Andere Idee:
    Ist der Seitenbaum so fest, dass Du die Page-IDs der Elternseiten weißt? Oder sind die Untermenüs in bestimmter Ebene? Dann könnten Dir die Conditions helfen.
    [url]http://www.typo3.net/tsref/conditions/pidupinrootline/[/url]
    [url]http://www.typo3.net/tsref/conditions/treelevel/[/url]

    Viele Grüße
    Julian

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • iomorph iomorph
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2007, 12:56

    Hi Julian,

    das mit dem Seitenbaum und den Untermenüs ist wahrscheinlich auch keine Lösung, weil das ganze dynamisch sein muß und manche Seiten haben Unterseiten und andere nicht.
    Im Grunde sähe die Menüstruktur etwa so aus:

    Ebene 1 1
    Ebene 1 1
    Ebene 2 1
    Ebene 2 2
    Ebene 3 1 (kann da sein, muß aber nicht)
    Ebene 3 2 (kann da sein, muß aber nicht)
    Ebene 2 3

    Wenn man auf der Menüebene 2 ist und die aktuelle Seite Unterseien hat, muß sich die dritte Ebene reinschieben und der Inhalt wird anders gewrapped, wenn die aktuelle Seite keine Unterseiten hat, darf sich aber nichts verschieben. Und ob eine Seite Unterseiten hat oder nicht, bestimmen die Redakteure - IDs nützen hier deshalb vermutlich nicht viel.

    Ich fürchte das Problem kann wohl doch nur per CSS gelöst werden, was ein ziemliches Gefrickel wird. Eine einfache TS-Abfrage wäre schon schöner gewesen. Schade.

    Trotzdem ganz herzlichen Dank für deine Unterstützung.
    Karin

  • 0 x
    3270 Beiträge
    157 Hilfreiche Beiträge
    12. 07. 2007, 14:16

    Hallo Karin.

    Irgendwie haben mich die Register selber gereizt...

    [TS]temp.nav = COA
    temp.nav.15 = LOAD_REGISTER
    temp.nav.15 {
    hasSub = 0
    }
    temp.nav.20 = HMENU
    temp.nav.20 {
    entryLevel = 0
    accesskey = 1
    1 = TMENU
    1 {
    NO = 1
    ACT = 1
    wrap = <ul> | </ul>
    noBlur = 1
    NO {
    allWrap = <li> | </li>
    stdWrap.htmlSpecialChars = 1
    }
    CUR {
    allWrap = <li class="aktiv"> | </li>
    stdWrap.htmlSpecialChars = 1
    }
    ACT {
    wrapItemAndSub = <li class="opened"> | </li>
    stdWrap.htmlSpecialChars = 1
    }
    CURIFSUB = 1
    CURIFSUB.stdWrap.append = LOAD_REGISTER
    CURIFSUB.stdWrap.append.hasSub = 1
    }
    2 < .1
    3 < .1
    }

    page = PAGE
    page {
    typeNum = 0
    10 < temp.nav
    20 = COA
    20 {
    10 = TEXT
    10.value = <div style="border: 1px dashed Lime; magin: 20px;"><p>Hat Unterpunkte</p>
    10.if.value = 1
    10.if.equals.data = register:hasSub
    20 < .10
    20.value = <div style="border: 1px dashed red; magin: 20px;"><p>Hat keine Unterpunkte</p>
    20.if.value = 0
    }
    30 < styles.content.get
    30.wrap = |</div>
    }[/TS]

    Damit sollte es klappen. An der ein oder anderen Stelle gehört sicher noch etwas aufgeräumt, geht aber ja auch primär drum, wie's funktioniert.

    Viele Grüße
    Julian

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • iomorph iomorph
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2007, 14:45

    Hallo Julian,

    danke, du bist großartig, das scheint zu funktionieren.
    Jezt muß ich das nur noch in mein Template eingebaut bekommen und alles wird gut.

    Dir ein schönes Wochenende und weiterhin so kreative Einfälle.

    Karin

  • 1