Zum Inhalt springen

Problem mit Menü der Unterseiten mit Inhaltsangabe in 2 Spalten

Erstellt am 27. August 2006 · 1 Antwort · letzte Antwort am 29. August 2006

Tags: Frage

philipphh ·

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.

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>
}

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

Unbekannter Benutzer ·

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