Problem mit Menü der Unterseiten mit Inhaltsangabe in 2 Spalten

  • philipphh philipphh
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    27. 08. 2006, 22:27

    Hallo,
    ich versuche mit einer Sitemap 4 folgendes Menü zu gestalten

    1|2
    3|4
    5|6

    Gerade Seiten sollen in der linken Spalte angezeigt werden, ungerade in der rechten.

    [TS]tt_content.menu.20.4 >
    tt_content.menu.20.4 = COA
    tt_content.menu.20.4 {
    10 = HMENU
    10 {
    special = directory
    special.value.field = pages
    wrap = <div style="vertical-align:top; width: 180px; background-color: #eeeeee; border: 1px solid #dddddd; float:left; margin: 12px;">|</div>
    1 = TMENU
    1 {
    noBlur = 1
    expAll = 0
    NO {
    noBlur = 1
    before.cObject = COA
    before.cObject {
    if.isTrue.field = abstract
    #if.isTrue.prioriCalc=1
    #if.isTrue.cObject= TEXT
    #if.isTrue.cObject.insertData=1
    #if.isTrue.cObject.value = {register:count_HMENU_MENUOBJ}%2
    10 = IMAGE
    10 {
    file = GIFBUILDER
    file {
    XY = 180,25
    transparentBackground = 1
    5 = IMAGE
    5.file = fileadmin/template/main/images/teaser.gif
    10 = TEXT
    10.text.data = field:title
    10.text.case = upper
    10.fontSize = 14
    10.offset = 5,18
    10.fontFile = fileadmin/fonts/DINMittelschrift.otf
    10.fontColor = #ffffff
    10.niceText = 1
    15 = TEXT
    15.text.data = field:uid
    }
    }
    }
    stdWrap.cObject = COA
    stdWrap.cObject.wrap = <div>|</div>
    stdWrap.cObject {
    if.isTrue.field = abstract
    5 = TEXT
    5.data = register:count_HMENU_MENUOBJ
    10 = TEXT
    10.field = abstract
    10.crop = 120 | ... | 1
    #10.if.isTrue.prioriCalc=1
    #10.if.isTrue.cObject=TEXT
    #10.if.isTrue.cObject.insertData=1
    #10.if.isTrue.cObject.value = {register:count_HMENU_MENUOBJ}%2

    }
    }
    }
    }
    20 = HMENU
    20 {
    special = directory
    special.value.field = pages
    wrap = <div style="vertical-align:top; width: 180px; background-color: #eeeeee; border: 1px solid #dddddd; loat:right; margin: 12px;">|</div>
    1 = TMENU
    1 {
    noBlur = 1
    expAll = 0
    NO {
    noBlur = 1
    before.cObject = COA
    before.cObject {
    if.isTrue.field = abstract
    if.isFalse.prioriCalc=1
    if.isFalse.cObject= TEXT
    if.isFalse.cObject.insertData=1
    if.isFalse.cObject.value = register:count_HMENU_MENUOBJ}%2
    10 = IMAGE
    10 {
    file = GIFBUILDER
    file {
    XY = 180,25
    transparentBackground = 1
    5 = IMAGE
    5.file = fileadmin/template/main/images/teaser.gif
    10 = TEXT
    10.text.data = field:title
    10.text.case = upper
    10.fontSize = 14
    10.offset = 5,18
    10.fontFile = fileadmin/fonts/DINMittelschrift.otf
    10.fontColor = #ffffff
    10.niceText = 1
    }
    }
    }
    stdWrap.cObject = COA
    stdWrap.cObject.wrap = <div>|</div>
    stdWrap.cObject {
    required = 1
    if.isTrue.field = abstract
    10 = TEXT
    10.field = abstract
    10.crop = 120 | ... | 1
    if.isFalse.prioriCalc=1
    if.isFalse.cObject=TEXT
    if.isFalse.cObject.insertData=1
    if.isFalse.cObject.value = {register:count_HMENU_MENUOBJ}%2
    }
    }
    }
    }
    30 = TEXT
    30.value = <div style="clear:both;"></div>
    }
    [/TS]

    Das Problem entsteht dann, wenn bei einer Unterseite keine Inhaltsangabe eingegeben wurde, wenn also das Feld "Abstract" leer ist.
    Die Menüpunkte werden dann nicht neu nummeriert, was letztlich dazu führt, daß bspw. ich ein Menü habe dass dann so aussieht.

    Bei Seite 2 ist das Feld Abstract leer.

    1|4
    3
    5

    Seite 3 sollte dann an den Platz der Seite 2 rücken. Aber irgendwie klappt das nicht.
    Ich weiß, daß das Problem ein wenig komplex ist. Wenn noch Klärungsbedarf besteht, schreibt einfach.

    Ich hoffe ihr könnt mir helfen.

    VG,

    Philipp


  • 1

  • 0 x
    29. 08. 2006, 12:41

    Das kannst du doch über CSS lösen.
    Mach ein Menü, wrappe das ganze in ein DIV mit der gewünschten Breite, setze den Wrap der einzelnen Menüpunkte auf float: left; und die Breite entsprechend auf die hälfte der Gesamtbreite und schon floaten jeweils zwei Punkte nebeneinander...

    Gruß

    Christian

  • 1