Oberen/unteren Rand um Menü im TS einbinden [Gelöst]

  • Imagine Imagine
    Jedi-Ritter
    0 x
    95 Beiträge
    0 Hilfreiche Beiträge
    21. 12. 2006, 09:33

    Hallo,

    ich mein linkes SubMenü in eine grafische Box mit Rahmenschatten setzen, was ja mittels CSS ein Leichtes ist.
    Mit dem "allWrap"-Befehl kann ich ja meine DIV-Tags für das CSS mit übergeben:

    1. marks.MENUE = HMENU
    2. marks.MENUE.entryLevel = 1
    3. marks.MENUE.excludeUidList = 12
    4. marks.MENUE.1 = TMENU
    5. marks.MENUE.1 {
    6. NO {
    7. allWrap = <div id="col2_menue_no"><a href="#"></a></div>
    8.  
    9. }
    10. ACT = 1
    11. ACT {
    12. allWrap = <div id="col2_menue_act"><a href="#"></a></div>
    13.  
    14. }
    15. }

    Jetzt will ich aber noch zwei DIVs miteinbauen - für oberen und unteren Rahmen:
    [CODE]<div id="col2_menue_topborder">
    &nbsp;
    </div>[/CODE]
    und
    [CODE]<div id="col2_menue_bottomborder">
    &nbsp;
    </div>[/CODE]
    Beide sollen nicht im Layout auftreten, wenn auf der Seite das SubMenü nicht angezeigt wird. Wie kann ich mit welchen Befehl das obere und das untere DIV in dem Objekt "MENUE" mit übergeben, so dass es nur ins Layout eingebaut, wenn das Submenü auch tatsächlich generiert wird?

    Vielen Dank im Voraus!

    Imagine


  • 1
  • ttb ttb
    Jedi-Ritter
    0 x
    143 Beiträge
    0 Hilfreiche Beiträge
    21. 12. 2006, 14:57

    [quote="Imagine"]linkes SubMenü in eine grafische Box mit Rahmenschatten setzen
    Mit dem "allWrap"-Befehl kann ich ja meine DIV-Tags für das CSS mit übergeben:[/quote]
    *schüttel* Für sowas sollte man aber lieber sinnvollere Tags, sprich eine unsortierte Liste (ul), anstatt dutzende div-Tags benutzen!
    [quote="Imaggine"]Jetzt will ich aber noch zwei DIVs miteinbauen - für oberen und unteren Rahmen:
    [CODE]<div id="col2_menue_topborder">
    &nbsp;
    </div>[/CODE][/quote]
    Ich dachte, du wolltest das mit CSS machen? Stichwort border-top bzw. border-bottom.
    [quote="Imagine"]Beide sollen nicht im Layout auftreten, wenn auf der Seite das SubMenü nicht angezeigt wird.[/quote]
    Das ist doch ein normales Menü? Wenn du die Untermenüpunkte meinst: Indem du eine zweite Ebene mit Typoscript definierst, also vor der letzten Klammer:

    1. marks.MENUE.2 {
    2. # hier die Ausgabe
    3. }

  • Imagine Imagine
    Jedi-Ritter
    0 x
    95 Beiträge
    0 Hilfreiche Beiträge
    21. 12. 2006, 17:50

    [quote="ttb"]
    Mache ich ja auch:
    *schüttel* Für sowas sollte man aber lieber sinnvollere Tags, sprich eine unsortierte Liste (ul), anstatt dutzende div-Tags benutzen!
    [quote="Imaggine"]Jetzt will ich aber noch zwei DIVs miteinbauen - für oberen und unteren Rahmen:
    [CODE]<div id="col2_menue_topborder">
    &nbsp;
    </div>[/CODE][/quote]
    [quote="ttb"]
    Ich dachte, du wolltest das mit CSS machen? Stichwort border-top bzw. border-bottom.[/quote]

    Tue ich ja. border-top bzw. border-bottom bringen mir nichts, wenn ich ein background-image mit der entsprechenden Grafik einfügen will.

    Das ist mir ebenfalls bewusst. Nur sind meine Menüpunkte der Ebene 1 im Horizontalen Menü. Die Menüpunkte im vertikalen Menü sind bereits die Untermenüpunkte.
    [quote="ttb"]
    Das ist doch ein normales Menü? Wenn du die Untermenüpunkte meinst: Indem du eine zweite Ebene mit Typoscript definierst, also vor der letzten Klammer:

    1. marks.MENUE.2 {
    2. # hier die Ausgabe
    3. }

    [/quote]

    Wenn ich ergo auf einer Seite keine Untermenüs habe, würde mir folgende HTML-Template-Lösung
    [HTML]<div id="col2_content_topborder">
    &nbsp;
    </div>

    <div id="col2_content">
    ###MENUE###
    </div>

    <div id="col2_content_bottomborder" class="clearfix">
    &nbsp;
    </div>[/HTML]

    eine leere Box links liefern - immerhin mit Schatten und runden Ecken. Deswegen suche ich einen Weg, col2_content_bottomborder und col2_content_topborder über das TS zu steuern. Aber wie?

    Imagine

  • toyde toyde
    Jedi-General
    0 x
    1971 Beiträge
    0 Hilfreiche Beiträge
    21. 12. 2006, 18:29

    Deswegen suche ich einen Weg, col2_content_bottomborder und col2_content_topborder über das TS zu steuern. Aber wie?

    Z.B. den Marker als [b]COA[/b] umschreiben.

    [TS]marks.MENUE = COA
    marks.MENUE {
    10 = TEXT
    10.value = das steht darüber

    20 = HMENU
    20 {
    entryLevel = 1
    # ..
    # ..
    }

    30 = TEXT
    30.value = das steht darunter
    }
    [/TS]
    Tipp: definier Marker/Subparts als temporäre Objekte, und kopier sie danach in's weitaus übersichtlichere/schlankere Page-Objekt.

    grüsse

  • Imagine Imagine
    Jedi-Ritter
    0 x
    95 Beiträge
    0 Hilfreiche Beiträge
    21. 12. 2006, 19:11

    Das leuchtet mir ein; Dankeschön!
    Nur klappt das auch, dass der Value eines TEXT-Elementes nachher den HTML-TAG mit dem DIV-Tag eben als HTML-Code in den HMTL-Code einbaut und nicht eben einen Text ausgibt?

    Grüsse

    Imagine

  • toyde toyde
    Jedi-General
    0 x
    1971 Beiträge
    0 Hilfreiche Beiträge
    21. 12. 2006, 21:39

    [TS]10 = TEXT
    10.value = <div>das steht darüber, in einem Div-Element</div>[/TS]
    Das funktioniert. Natürlich kannst Du anstatt [b]TEXT[/b] ebenfalls ein [b]HTML[/b]-Objekt schreiben ;) . Bei einem "nackten" Div ggf. einen &nb sp; (zusammengeschrieben) dazwischen einfügen. Leere Divs werden nicht in jedem Browser berücksichtigt.

    grüsse

  • 1