Zum Inhalt springen

horizontales GMENU_LAYER - Zeilenumbruch?

Erstellt am 24. März 2005 · 4 Antworten · letzte Antwort am 2. Dezember 2005

Tags: Frage

Moeffz ·

Hallo,
ich habe ein funktionierendes GMENU_LAYER mit einem kleinen Problem:

Wenn die horizontale Menüebene breiter wird als die zugedachte Tabellenspalte, wird die eigenmächtig verbreitert. Ich hätte es aber gerne, dass dann die folgenden Elemente dann darunter angezeigt werden.

Hier mein GMENU_LAYER:

1 = GMENU_LAYERS
   1{
      useLargestItemY=1
      topOffset = 25
      leftOffset = 15
      relativeToParentLayer=1
      relativeToParentLayer.addWidth=1
      relativeToTriggerItem=1
      lockPosition = x
      expAll=1
      hideMenuWhenNotOver=1
      freezeMouseover = 1
      NO{
         backColor=|*| #CEDBD9|| #CEDBD9|*|
        wrap = <td bgcolor="#FFFFFF" valign="middle">|</td>
         XY = [10.w]+10, [10.h]+6
         10 = TEXT
         10{
            align = center
            fontFile = fileadmin/fonts/verdana.ttf
            fontSize = 9
            fontColor = #00463A
            text.field = title
            offset=0,13
         }
      }

Hoffe, das war verständlich. Weiß jemand Rat?

Moeffz ·

Wenn ich mir den Quelltext meiner Seite ansehe, sind die einzelnen Menüeinträge jeweils in <div>-Tags verpackt.

Wo kann ich das einsehen?

Moeffz ·

Ich musste der Ansicht mit dem IE wegen mein Menü in eine Tabelle wrappen. Wenn ich jedes Element meines waagerechten Menüs in eine Zelle wrappe, werden sämtliche Menüelemente nebeneinander gesetzt. Ich möchte aber, dass ab einer bestimmten Breite die Elemente darunter plaziert werden.
Wenn ich die Elemente nicht in einzelne Zellen wrappe, werden sie alle untereinander angezeigt, da die gmenu_layers.php die Elemente in div-tags packt.

Wie muss ich nun wrappen oder die gmenu_layers.php anpassen, damit ich den Umbruch an der Stelle realisieren kann? Oder ist dies nicht möglich?
Für einen Fingerzeig wäre ich sehr dankbar.

theis ·

habe es noch selber rausgefunden, bin mit der Lösung nicht ganz zufrieden, da ich eine php-Datei abändern musste aber was solls, ist eh nur ne Beispieldatei.
Also folgendes habe ich gemache

In der Datei "media/scripts/gmenu_layers.php" folgende zeile ausgewechselt:

$item = '<div id="itemID'.t3lib_div::shortmd5($this-">I['uid'].'-'.$this->WMid).'" style="float:left;"><div id="anchorID'.t3lib_div::shortmd5($this-">I['uid'].'-'.$this->WMid).'" style="position:absolute;visibility:hidden;"></div>'.$item.'</div>';

ersetzt durch:

//$item = '<div id="anchorID'.t3lib_div::shortmd5($this-">I['uid'].'-'.$this->WMid).'" style="position:absolute;visibility:hidden;"></div><div id="itemID'.t3lib_div::shortmd5($this-">I['uid'].'-'.$this->WMid).'" style="width:100%; height:100%;">'.$item.'</div>';

Mein Template sieht folgendermassen aus:

page.includeLibs.gmenu_layers = media/scripts/gmenu_layers.php

temp.menu = HMENU
temp.menu {
  1 = GMENU_LAYERS
  1 {
    layerStyle = position:absolute;VISIBILITY:hidden;width: 150px;
    relativeToTriggerItem= 1
    topOffset = 20
    expAll=1
    NO {
      backColor = #cccccc
      XY = [5.w], [5.h]
      5 = IMAGE
      5.file = fileadmin/template/media/button-1.gif
      10 = TEXT
      10.text.field = title
      10.offset =  [150-10.w],16
      10.align = center
      10.fontSize = 16
    }
    ACT < .NO
    ACT.5.file = fileadmin/template/media/button-1-act.gif
    ACT = 1
    RO < .ACT
  }
  2 = GMENU
  2 {
    NO {
      backColor = #000000
      XY = 150, 17 |*| 150, 17 |*| 150, 18
      5 = IMAGE
      5.file = fileadmin/template/media/button-2.gif
      10 = TEXT
      10.text.field = title
      10.offset =2,13
      10.fontSize = 14
    }
    ACT < .NO
    ACT.5.file = fileadmin/template/media/button-2-act.gif
    ACT = 1
    RO < .ACT
  }
}