TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

GMENU_LAYERS / TMENU_LAYERS

GMENU_LAYERS / TMENU_LAYERS ist eine Erweiterung von »GMENU/»TMENU,was bedeutet, dass die untenstehenden Eigenschaften zusätzliche zudenen von GMENU/TMENU sind.

Der Zweck von xMENU_LAYERS ist es, Menüs mit 2 (oder mehr) Ebenen zuerzeugen, bei denen die zweite (,dritte...) Ebene in einem DHTML-Layerangezeigt wird.

Die meisten Features funktionieren mit allen gängigen Browsern wieNetscape, Microsoft Internet Explorer, Mozilla, Konqueror und Opera.Sie können die Menüs verschachteln wie Sie wollen.

ANMERKUNG: Sie müssen die Bibliothek media/scripts/gmenu_layers.php (für GMENU_LAYERS) und/oder media/scripts/tmenu_layers.php (für TMENU_LAYERS) einbinden, sowie die xMENU_LAYERS auf die nächste Ebene ausklappen, damit das Menü Sinn macht (mit der .expAll-Eigenschaft).

KOMPABILITÄT: MSIE 4+, Netscape 4+ und 6+, Opera 5+, Konqueror

ANMERKUNGEN:

  • Netscape 4 unterstützt für die Layers keine MouseOver-Ereignisse
  • Opera scheint mit dem MouseOut-Ereignis Probleme zu haben, wenn Sie die Maus von einem Element auf ein Layer bewegen. Dann könnte es sein, dass das Ereignis nicht ausgelöst wird, bevor das Layer betreten wird. Das passiert jedoch nur, wenn das Layer sehr dicht am Auslöserelement platziert ist. Ein daraus folgendes Problem könnte zum Beispiel sein, dass der Rollover-Status der Elemente nicht zurückgesetzt wird.
  • Möglicher Bug: Bei verschachtelten Layermenüs wurde bei Opera beobachtet, dass sämtliche Interaktion mit der Seite verweigert wurde, sogar das Anwählen normaler Links. Mit einem einfachen Layermenü mit nur einer Ebene scheint dieses Problem nicht aufzutreten.

Eigenschaft

Datentyp

Beschreibung

Standard

layerStyle

<DIV>-Tag Parameter

Parameter für die <DIV>-Layer-Tags im HTML-Dokument. Sie werden diese Eigenschaft wahrscheinlich nicht ändern müssen.

Beispiel:
position: absolute; visibility: hidden;

position: absolute; visiblity: hidden;

lockPosition

"x" / "y" / ""

Wenn diese Eigenschaft auf x oder y gesetzt ist, wird das Menü fixiert, sodass es dem Mauscursor nicht folgt (was es normalerweise tut). x oder ygibt jeweils an, dass die summierte Breite (x) bzw. Höhe (y) der x-oder y-Position des Menüs hinzugefügt wird. Das heißt, Sie sollten diesen Wert auf x setzen, wenn Sie ein horizontales xMENU_LAYERS haben wollen, und wenn Sie einvertikales xMENU_LAYERS haben wollen, sollten Sie ihn auf y setzen.

dontFollowMouse

boolean

Wenn diese Eigenschaft gesetzt ist, und wenn ».lockPosition keinen Wert hat (sodass das Layermenü also der Maus folgt), wird das Menü nicht mehr der Maus folgen, aber dennoch an der Stelle erscheinen,an der der Cursor das Auslöserelement berührt hat. Nützlich, wenn Sie nicht die exakte Position der Elemente kennen.

WARNUNG: Sie sollten für Menüs, bei denen diese Eigenschaft aktiviert ist, nicht die Eigenschaft ».displayActiveOnLoad setzen (da die absolute Position des Layers nicht bekannt ist).

lockPosition_adjust

int

Eine Zahl, die auf die Höhe/Breite der Menüelemente addiert wird, um z.B. hspace oder andere Dinge zwischen den Bildern im GMENU_LAYERS zu kompensieren.

lockPosition_addSelf

boolean

Normalerweise werden Breite und Höhe der Elemente (+ »lockPosition_adjust) nach den Rendern des Elements zusammengerechnet. Das ist gut, wenn das Menü nach unten oder nach rechts ausklappt.
Solldas Menü jedoch nach links oder nach oben ausklappen, werden Sie vielleicht die Breite der Elemente vorher addieren wollen. Wenn ja, setzen Sie diese Eigenschaft.

xPosOffset

int

Der Abstand des Menüs von dem Punkt, an dem es aktiviert wurde (wenn ».lockPosition falsch ist) / von der oberen linken Ecke der Seite (wenn .lockPosition wahr ist).

yPosOffset

int

Wie oben, nur für die y-Koordinate.

topOffset

int

Der Abstand der Menüelemente vom oberen Rand des Browsers. Sollte lieber hier gesetzt werden als in der ».layerStyle-Eigenschaft. Muss gesetzt werden, um »directionUp zu benutzen.
Wird benutzt, wenn entweder lockPosition=x oder xPosOffset angegeben ist.

leftOffset

int

Der Abstand der Menüelemente vom linken Rand des Browsers. Sollte lieber hier gesetzt werden als in der ».layerStyle-Eigenschaft. Muss gesetzt werden, um »directionLeft zu benutzen.
Wird benutzt, wenn entweder lockPosition=y oder yPosOffset angegeben ist.

blankStrEqFalse

boolean

Wenngesetzt, werden die Eigenschaften »topOffset, »leftOffset, »xPosOffset und »yPosOffset nur dann als "leer" angesehen, wenn sie wirklich leer sind (und nicht nur 0). Sie sollten diese Eigenschaft aktivieren, wenn Sie mit null-Abständen arbeiten können wollen. Das ist in der Regel der Fall, wenn Sie relative Positionierung verwenden.

directionLeft

boolean

Setzen Sie diese Eigenschaft, wenn die Menüelemente nach rechts ausgerichtet sein sollen (wenn das Menü also zur linken Seite ausklappt).
Funktioniert noch nicht mit Opera, weil ich (Kasper Skårhøj) nicht weiß, wie mit Opera die Breite jedes Layers ausgelesen werden kann.
Aber wenn Sie die Breite des Layers in ».layerStyles setzen, wird es trotzdem auf jeden Fall funktionieren.

directionUp

boolean

Setzen Sie diese Eigenschaft, wenn die Menüelemente nach unten ausgerichtet sein sollen (das Menü als nach oben ausklappen soll).

setFixedWidth

int

Bei einem GMENU_LAYERS ist die Breite und Höhe der Elemente in der Regel durch die Ausmaße des Bildes bekannt. Bei TMENU_LAYERS kann das nicht auf diese Art bestimmt werden. Daher können Sie .setFixedWidth und.setFixedHeight verwenden, um diese Werte auf eine angemessene Zahl zusetzen. Das kann natürlich immer noch vom Browser vereitelt werden,wenn die Schrift zu groß wird usw.

Alternativ werden Sie vielleicht auch die Eigenschaft »relativeToTriggerItem benutzen wollen,die Ihr Menü-Layer relativ zum auslösenden Element platziert. Das hat manchmal allerdings Nachteile. Der Mittelweg wäre, ein Menü zuverwenden, in dem ».lockPosition leer und ».dontFollowMouse wahr ist.Dann müssen Sie nur eine X- oder Y-Koordinate zum Folgen angeben und das Element erscheint dort, wo die Maus auf den Auslöser trifft.

ANMERKUNG: Diese Eigenschaft ist aktiv, wenn sie NICHT leer ist. Wenn dieser Wert auf 0 gesetzt wird, heißt das, dass die Menüelemente keine Breite haben.

bordersWithin

l,t,r,b,l,t

Beschränkt die Maße des Layers auf diese Werte in Pixeln. 0 heißt "nicht gesetzt".

Syntax: Integerliste, im Uhrzeigersinn ausgewertet: Links, Oben, Rechts, Unten, Links, Oben.

displayActiveOnLoad

boolean

Wenn gesetzt, wird das Untermenü-Layer des aktiven Menüelements beim Laden der Seite geöffnet. Wenn ».freezeMouseover ebenfalls gesetzt ist, und für die Hauptmenüelemente RO angegeben ist, wird das Menüelement, welches zu dem angezeigten Untermenü gehört, ebenfalls angezeigt.

Eigenschaften:
.onlyOnLoad (boolean)
Wenn gesetzt, wird das aktive Element nur beim Laden angezeigt. Die Ansicht wird nicht beim Mausaustritt aus anderen Elementen wiederhergestellt.

WARNUNG: Wenn Sie xMENU_LAYER-Elemente verschachteln, achten Sie darauf, dass alle übergeordneten Menüs diese Eigenschaft ebenfalls gesetzt haben.

freezeMouseover

boolean

Wenn gesetzt, wird ein MouseOut-Effekt eines Hauptmenüelements nicht beim Mausaustritt entfernt, sondern beim Mauseintritt in ein anderes Element.

Eigenschaften:
.alwaysKeep (boolean)
Wenn gesetzt, bleibt das gefreezte Element immer da, auch wenn das Untermenü wieder versteckt ist.

hideMenuWhen
NotOver

int+

Wenn gesetzt (>1) wird das Menü sich selbst verstecken, wenn der Cursor vom Menü wegbewegt wird. Der Wert dieses Parameters gibt an, wie weit sich der Cursor vom Menü entfernt, bis es unsichtbar wird.

hideMenuTimer

int+

Dies gibt an (in Millisekunden), wie lange das Menü wartet, bis es unsichtbar wird, wenn ».hideMenuWhenNotOver gesetzt ist.

dontHideOn
MouseUp

boolean

Wenn gesetzt, werden die Menü-Layers nicht versteckt, wenn die Maus geklickt wird. Nützlich, wenn die Menüelemente die Seiten in einen anderen Frame laden.

layer_menu_id

string

Verwenden Sie diese Eigenschaft, wenn Sie einem Menü auf dieser Seite einen bestimmten Namen geben wollen. Werden Sie wahrscheinlich nicht brauchen.

ACHTUNG: Verwenden Sie keine Unterstriche und Sonderzeichen, sondern nur alphanumerische Zeichen.

Zufälliger 6-Zeichen-
Hashstring

relativeTo
TriggerItem

boolean

Diese Eigenschaft erlaubt es Ihnen, die Menü-Layers relativ zum auslösenden Element zu platzieren. Sie sollten sich jedoch der folgenden Dingebewusst sein:

  • Dies funktioniert nicht mit Netscape 4 - Als Position des Auslösers wird 0 errechnet werden und daher ist die Position all Ihrer Menüs 0/0.
  • Dieses Feature wrapt das Menü in einige <div>-Tags genau bevor dasgesamte Menü durch den .wrap-Code (für GMENU_LAYERS), bzw. den .allWrap-Code (für TMENU_LAYERS) gewrapt wird.
    Unterm Strich:
    1. Wenn Ihr Menü horizontal ist, formatieren Sie Ihre Menüelemente immer in einer Tabelle, damit wegen der <div>-Tags keine Zeilenumbrüche dargestellt werden.
    2. Vergewissern Sie sich, dass das jeweilige Wrappen der Tabellenzellen mit den .wrap/.allWrap-Eigenschaften gemacht wird.
  • Funktioniert nur effektiv mit dem ersten xMENU_LAYER einer Verschachtelung. Für weitere xMENU_LAYERS verwenden Sie bitte ».relativeToParentLayer.

Wenn gesetzt, funktionieren die Eigenschaften ».xPosOffset, ».yPosOffset und ».lockPosition nicht (die Eigenschaften ».directionLeft, ».directionUp, ».topOffset und ».leftOffset sind immer noch aktiv).

Zusätzliche Eigenschaften:
.addWidth = Fügt die Breite des Auslöserelementes hinzu.
.addHeight = Fügt die Höhe des Auslöserelementes hinzu.

relativeTo
ParentLayer

boolean

Wenn gesetzt, wird das Layer relativ zum vorhergehenden, übergeordneten Layer in einer verschachtelten Reihe von xMENU_LAYER positioniert. Im Grunde wird der relativen Position des übergeordneten Menüs nur der Abstand des derzeitigen Menüs hinzugefügt.

ACHTUNG: Diese Eigenschaft macht nur Sinn, wenn Sie wirklich ein übergeordnetes xMENU_LAYER haben.

Zusätzliche Eigenschaften:
.addWidth = Fügt die Breite des übergeordneten Layers hinzu
.addHeight = Fügt die Höhe des übergeordneten Layres hinzu.

Kommentare von registrierten Benutzern:

 
Autor Nachricht
Verfasst am: Dienstag, 16-06-09 17:02
Thomas Utke
Dabei seit: 31. 01. 2009
Beiträge: 24
hideMenuWhenNotOver

Ich habe jetzt tagelang mit der Funktion hideMenuWhenNotOver herumprobiert. Mein Menü schließt sich beim Verlassen nicht mehr.

expAll = 1
hideMenuWhenNotOver = 20
hideMenuTimer = 100

habe ich in meiner Konfiguration.

Den Tipp von Wendelken habe ich auch überprüft. Meine Installation hat im body nur die Anweisung
onload="T3_onloadWrapper();
zu stehen.

Das merkwürdige ist nun, dass ich mit gleichem Typoscript eine andere seite habe, die funktioniert.

Trotz allem Tauschen und Kopieren ist es mir nicht gelungen das Schliessen des Menüs auf die zweite Anwendung zu bringen.

Kann mir hier jemand den entscheidenden Tipp geben?

Gruß Thomas
Verfasst am: Samstag, 23-08-08 20:13
BastianBalthasarBux
Dabei seit: 04. 12. 2003
Beiträge: 580
Um ein Problem das sehr häufig auftritt ein für alle mal zu klären:

Niemals niemals niemals darf auch nur ein Elternelement oder Kindelement der layernavigation in irgendeiner Weise mittels CSS positioniert werden, weder absolut noch relativ.

Bei Elternelement tritt folgendes Problem auf: Die Positionierung des aufgeklappten Layers würfelts total.

Bei Kindelementen wird dann ein Problem mit hideMenuWhenNotOver auftreten (menü klappt zu schnell zu um zu klicken), speziell am IE inklusive Version 7!!
Verfasst am: Montag, 14-04-08 17:09
Gelöschter Benutzer
Hallo Leute,

nachdem ich lange herum gedoktort habe, möchte ich euch noch die Umsetzung meines GMENU_LAYERS-Menüs präsentieren. Es handelt sich um ein Vertikal-Menü, welches horizontal aufklappt:

TYPOSCRIPT
# >MARK: NAVIGATION< #
page.includeLibs.gmenu_layers = typo3/sysext/cms/tslib/media/scripts/gmenu_layers.php
 
temp.NAVIGATION = HMENU
temp.NAVIGATION.1 = GMENU_LAYERS
temp.NAVIGATION.1 {
 
// Die 1. Ebene ist fest plaziert. Die folgenden Ebenen orientieren sich an dieser!
 
   layerStyle = position: absolute; left: 50%; margin-left: -315px; width: 172px; visibility: hidden
   xPosOffset = 0
   yPosOffset = -180
   lockPosition = y
   expAll = 1
 
   NO {
      XY = 172, 28
      5 = IMAGE
      5.file {
         import = uploads/media/     
         import.listNum = 0
         import.override.field = media
         }
      10 = TEXT
      10.text.field = title
      10.offset = 10,17
      10.fontSize = 12
      10.fontFace = fileadmin/templates/fonts/ucr.ttf
      10.fontColor = #FFFFFF
      10.niceText = 1
   }
 
   RO < .NO
   RO = 1
   RO {
      10.fontColor = #000000
   }
 
   ACT < .NO
   ACT = 1
   ACT {
      10.fontColor = #000000
   }
}
 
temp.NAVIGATION.2 = GMENU_LAYERS
temp.NAVIGATION.2 {
   layerStyle = position: absolute; width: 172px; visibility: hidden
   relativeToTriggerItem = 1
   relativeToParentLayer = 1
   relativeToTriggerItem.addWidth = 1
   expAll = 1
 
   NO {
      XY = 172, 20
      5 = IMAGE
      5.file {
         import = uploads/media/     
         import.listNum = 0
         import.override.field = media
         }
      10 = TEXT
      10.text.field = title
      10.offset = 5,15
      10.fontSize = 11
      10.fontFace = fileadmin/templates/fonts/ucr.ttf
      10.fontColor = #FFFFFF
      10.niceText = 1
   }
 
   RO < .NO
   RO = 1
   RO {
      10.fontColor = #000000
   }
 
   ACT < .NO
   ACT = 1
   ACT {
      10.fontColor = #000000
   }
}
 
temp.NAVIGATION.3 < temp.NAVIGATION.2
temp.NAVIGATION.4 < temp.NAVIGATION.2
temp.NAVIGATION.5 < temp.NAVIGATION.2
 
page.10.marks.NAVIGATION < temp.NAVIGATION


Viele Grüße
THETREE
Verfasst am: Freitag, 25-01-08 14:33
Antoine
Dabei seit: 25. 01. 2008
Beiträge: 39
Hallo Zusammen,
suche genau diese Art von Klapp-Effekt,
aber leider nicht horizontal sondern
vertikal.
Was gibts da zu ändern?
Verfasst am: Freitag, 20-07-07 15:35
Stefan Krapf
Dabei seit: 19. 08. 2006
Beiträge: 107
ah ja, habs noch vergessen, das menü gibts auch live zu sehen unter http://www.theater-weggis.ch/index.php
Verfasst am: Freitag, 20-07-07 15:33
Stefan Krapf
Dabei seit: 19. 08. 2006
Beiträge: 107
hallo typo3-ler
hier hab ich euch ein menü mit mehr als 3 ebenen, dabei sind alle ebenen grafisch gelöst. ich habe hier nun mit "relativeToTriggerItem/relativeToParentLayer" gearbeitet, und ich muss sagen, dass ist eigentlich ziemlich praktisch so, vor allem mit zentriertem layout gehts glaub ich gar nicht anders:

zuerst natürlich das script includen (steht ja unten schon)

TYPOSCRIPT
//// Grafisches Menü erstellen
 
//// Menü 1. Ebene
 
NAV_MAIN = HMENU
NAV_MAIN {
	special = directory
	//// ID's angeben
	special.value = 1
 
	1 = GMENU_LAYERS
 
	//// Layer-Einstellungen (gelten eigentlich erst für die nächste Ebene)
 
		//// Positions-Einstellungen
		1.layerStyle = position:absolute;VISIBILITY:hidden;
		//// Position & Versatz relativ zum Eltern-Element (ab 2. Ebene brauchts zusätzlich "relativeToParentLayer&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" />
		1.relativeToTriggerItem = 1
		1.relativeToTriggerItem.addHeight = 1
		1.topOffset = 1
		1.leftOffset = -7
 
		//// Menü ausklappen (es wird sonst nichts angezeigt)
		1.expAll = 1
 
		//// Menü ausblenden
 
			//// Entfernung der Maus vom Menü (Pixel)
			1.hideMenuWhenNotOver = 20
			//// Zeit bis zur Ausblendung (Millisekunden)
			1.hideMenuTimer = 1000
 
 
	//// table brauchts für Positionierung mittels "relativeToTriggerItem/relativeToParentLayer"
	1.wrap=<table cellspacing="0" cellpadding="0"><tr>|</tr></table>
 
	1.NO = 1
	1.NO {
		//// table brauchts für Positionierung mittels "relativeToTriggerItem/relativeToParentLayer"
		wrap=<td>|</td>
		XY = [40.w]+16, 24
		backColor = #d20237
 
		//// Menütexte rendern
		40 = TEXT
		40.text.field = title
		40.fontFile = fileadmin/fonts/MyriadPro-SemiCn.ttf
		40.fontSize = 19
		40.fontColor = white
		40.niceText = 1
		40.offset = 2, 18
	}
 
	//// Roll-Over definieren
	1.RO < .1.NO
	1.RO.40.fontColor = #ffcf11
 
	//// Aktiv-Status des übergeordneten Elements vorgeben
	1.ACT < .1.RO
	1.ACT.40.fontColor = #ffcf11
 
	//// Aktiv-Status vorgeben
	1.CUR < .1.RO
 
 
//// Menü 2. Ebene
 
	2 = GMENU_LAYERS
 
	//// Layer-Einstellungen (gelten eigentlich erst für die nächste Ebene)
 
		//// Positions-Einstellungen
		2.layerStyle = position:absolute;VISIBILITY:hidden;
		//// Position & Versatz relativ zum Eltern-Element (ab 2. Ebene brauchts zusätzlich "relativeToParentLayer&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" />
		2.relativeToTriggerItem = 1
		2.relativeToParentLayer = 1
		2.relativeToParentLayer.addWidth = 1
		2.topOffset = -1
		2.leftOffset = -2
 
		//// Menü ausklappen (es wird sonst nichts angezeigt)
		2.expAll = 1
 
		//// Menü ausblenden
 
			//// Entfernung der Maus vom Menü (Pixel)
			2.hideMenuWhenNotOver = 20
			//// Zeit bis zur Ausblendung (Millisekunden)
			2.hideMenuTimer = 1000
 
	//// table brauchts für Positionierung mittels "relativeToTriggerItem/relativeToParentLayer"
	//// div für weisse Linie rundherum
	2.wrap=<div style="border: 1px solid #ffffff;"><table cellspacing="0" cellpadding="0">|</table></div>
 
	2.NO = 1
	2.NO {
		//// table brauchts für Positionierung mittels "relativeToTriggerItem/relativeToParentLayer"
		wrap=<tr><td>|</td></tr>
		XY = 200, 25 |*| 200, 25 |*| 200, 24
		backColor = #d20237
 
		//// Weisse Linie erzeugen
		30 = IMAGE
		30.file = GIFBUILDER
		30.file.XY = 200, 1
		30.file.backColor = white
		30.offset = 0, 24 |*| 0, 24 |*| -1, -1
 
		//// Menütexte rendern
		40 = TEXT
		40.text.field = title
		40.fontFile = fileadmin/fonts/MyriadPro-SemiCn.ttf
		40.fontSize = 17
		40.fontColor = white
		40.niceText = 1
		40.offset = 10, 17
	}
 
	//// Roll-Over definieren
	2.RO < .2.NO
	2.RO.40.fontColor = #ffcf11
 
 
	//// Wenn Unterseiten vorhanden sind
	2.IFSUB < .2.NO
	2.IFSUB {
		31 = IMAGE
		31.file = fileadmin/images/nav/dreiecke_5x9_weiss.png
		31.offset = 186, 7
	}
 
	//// Roll-Over, wenn Unterseiten vorhanden sind
	2.IFSUBRO < .2.IFSUB
	2.IFSUBRO.31.file = fileadmin/images/nav/dreiecke_5x9_gelb.png
	2.IFSUBRO.40.fontColor < .2.RO.40.fontColor
 
	//// Aktiv-Status des übergeordneten Elements vorgeben
	2.ACT < .2.IFSUBRO
 
	//// Aktiv-Status vorgeben
	2.CUR < .2.RO
 
 
//// Menü 3./4./5. Ebene
 
	3 < .2
	4 < .2
	5 < .2



es grüsst
stevee[/TYPOSCRIPT]
Verfasst am: Mittwoch, 02-08-06 11:16
Fr
Dabei seit: 24. 07. 2006
Beiträge: 126
Gutes Beispiel, wie wäre eins für 3 Menüebenen, wäre sicherlich noch interessanter...
Verfasst am: Dienstag, 09-05-06 13:06
pootr
Dabei seit: 14. 07. 2005
Beiträge: 15
Da hier ein Beispiel fehlt, poste ich mal eins:

TYPOSCRIPT
marks.MENU_2 = HMENU
 marks.MENU_2.special = directory
 marks.MENU_2.special.value = 1
 marks.MENU_2.1 = GMENU_LAYERS
 marks.MENU_2.1 {
  layerStyle = position:absolute;left:230px;top:200px;width:0px;VISIBILITY:hidden; 
  xPosOffset = 50
  expAll=1
  dontFollowMouse = 1
 
 
  NO = 1 
  NO {
    XY = [10.w]+10, 29
    10 = TEXT
    allWrap =  |
    transparentBackground = 1
    10.antiAlias=0
    10.text.field = title
    10.offset = 5,17
    10.fontColor = #000000
    10.fontFile = fileadmin/verdana.ttf
    10.fontSize = 8
}
 
   RO = 1 
   RO{
     XY = [10.w]+10, 29
    10 = TEXT
    allWrap =  | 
    transparentBackground = 1
    10.antiAlias=0
    10.text.field = title
    10.offset = 5,18
    10.fontColor = #FFFFFF
    10.fontFile = fileadmin/verdana.ttf
    10.fontSize = 9
 
}
 
 
}


Hier zum Beispiel die erste Ebene eines Menus. Wird verwendet bei ###HTML_BUFFER_MARKER_MMCMS###
Verfasst am: Dienstag, 09-05-06 13:05
pootr
Dabei seit: 14. 07. 2005
Beiträge: 15
Da hier ein Beispiel fehlt, poste ich mal eins:

TYPOSCRIPT
marks.MENU_2 = HMENU
 marks.MENU_2.special = directory
 marks.MENU_2.special.value = 1
 marks.MENU_2.1 = GMENU_LAYERS
 marks.MENU_2.1 {
  layerStyle = position:absolute;left:230px;top:200px;width:0px;VISIBILITY:hidden; 
  xPosOffset = 50
  expAll=1
  dontFollowMouse = 1
 
 
  NO = 1 
  NO {
    XY = [10.w]+10, 29
    10 = TEXT
    allWrap =  |
    transparentBackground = 1
    10.antiAlias=0
    10.text.field = title
    10.offset = 5,17
    10.fontColor = #000000
    10.fontFile = fileadmin/verdana.ttf
    10.fontSize = 8
}
 
   RO = 1 
   RO{
     XY = [10.w]+10, 29
    10 = TEXT
    allWrap =  | 
    transparentBackground = 1
    10.antiAlias=0
    10.text.field = title
    10.offset = 5,18
    10.fontColor = #FFFFFF
    10.fontFile = fileadmin/verdana.ttf
    10.fontSize = 9
 
}
 
 
}


Hier ein Beispiel der ersten Ebene von einem GMENU_Layer Menüs.
Wird verwendet bei ###HTML_BUFFER_MARKER_MMCMS###
Verfasst am: Dienstag, 07-02-06 23:44
Wendelken
Dabei seit: 23. 09. 2005
Beiträge: 16
Wenn zusätzlich ein <Bod onLoad-Event eingebunden wird funktioniert hideMenuWhenNotOver nicht mehr.

Ich habe die Lösung gefunden und werde sie an der Quelle posten:

Da ich im Body folgenden Aufruf mache:

<body class="bodymainsite" onLoad="MM_preloadImages('fileadmin/templates/bilder_layout/head_livekontakt_on.gif',
'fileadmin/te[..]
onload="T3_onloadWrapper();">

funktioniert das GMENU_LAYERS nicht mehr, da onload="T3_onloadWrapper(); nicht mehr aufgerufen wird.

LÖSUNG:

Die Extension "Body onEvents Javascript" installieren und nach Anleitung einbinden, schon sind alle Probleme verschwunden. icon_smile.gif

Habe die Extension per Zufall gefunden, nun geht alles wieder.
Verfasst am: Freitag, 30-12-05 12:26
Andreas
Dabei seit: 04. 02. 2003
Beiträge: 1
Ein paar Anmerkungen zu dem Beispiel.

Das GMENU_LAYERS sollte natürlich (bei einem horizontalen Menü) folgendermaßen in ein Konstrukt eingebunden werden, damit das GMENU überhaupt mitbekommt, ab welcher Stelle es das Menü aufbauen soll.

TYPOSCRIPT
MENU_OBEN = HMENU
MENU_OBEN {
  special = directory
  special.value = 50
  entryLevel = 1
  1 = GMENU_LAYERS
  1 {
    ....
  }
}


Wobei "MENU_OBEN" eurem Platzhalter in dem HTML Dokument entspricht -> ###MENU_OBEN### - und der Wert hinter "special.value" die ID eures Einstiegsdokuments ist.
(Die ID wird angezeigt, wenn ihr den Mauscursor über ein Seitensymbol bewegt)


Zum Schluss wollte ich noch sagen, dass
... das GMENU_LAYERS sich innerhalb des PAGE Obejekts befinden muss, in dem ihr die scripts eingebunden habt. Also irgendwo in der Zeile 5 [...]
... ihr evtl. die Option niceText auf 0 ändern müsst
... das fontfile anpassen solltet

-> ansonsten dürfte es eigentlich keine Probleme geben
Verfasst am: Freitag, 30-12-05 11:58
Andreas
Dabei seit: 04. 02. 2003
Beiträge: 1
Hallo zusammen.
Da ich ebenfalls Anfänger bin und eine Weile gebraucht habe um ein GMENU_LAYERS zum Laufen zu bekommen, möchte ich euch ein funktionierendes Beispiel nicht vorenthalten.

Nach dem Erzeugen des PAGE Objekts müssen die entsprechenden "scripts" inkludiert werden.

Bsp.:
TYPOSCRIPT
page = PAGE
page {
   [...]
   includeLibs.gmenu_layers = media/scripts/gmenu_layers.php
   [...]
}


Nun kann das grafische Menü eingebunden werden. Folgende Code Zeilen funktionieren bei mir..

TYPOSCRIPT
1 = GMENU_LAYERS
1 {
  wrap=<table cellspacing="0" cellpadding="0"><tr>|</tr></table>
  layerStyle =position:absolute;VISIBILITY:hidden;
  xPosOffset = -30
  lockPosition = y
  expAll=1
  leftOffset = 15
  topOffset = 30
  hideMenuWhenNotOver = 1
  hideMenuTimer = 250
  relativeToTriggerItem = 1
  NO {
    wrap=<td>|</td>
    backColor = #061467
    XY = 150, 22
    10 = TEXT
    10 {
      text.field = title
      offset = 5,15
      fontColor = #FFFFFF
      fontFile = fileadmin/fonts/verdana.ttf
      fontSize = 14
      fontStyle = bold
      niceText = 1
    }
  }
  CUR = 1
  CUR {
    wrap=<td>|</td>
    backColor = #364496
    XY = 150, 22
    10 = TEXT
    10 {
      text.field = title
      offset = 5,15
      fontColor = #FFFFFF
      fontFile = fileadmin/fonts/verdana.ttf
      fontSize = 14
      fontStyle = bold
      niceText = 1
    }
  }
  RO = 1
  RO {
    wrap=<td>|</td>
    backColor = #364496
    XY = 150, 22
    10 = TEXT
    10 {
      text.field = title
      offset = 5,15
      fontColor = #FFFFFF
      fontFile = fileadmin/fonts/verdana.ttf
      fontSize = 14
      fontStyle = bold
      niceText = 1
    }
  }
}
2 = GMENU
2 {
  expAll=1
  NO {
    wrap=|<br>
    backColor = #EEEEEE
    XY = 130, 20
    10 = TEXT
    10 {
      text.field = title
      offset = 5,15
      fontColor = #000000
      fontFile = fileadmin/fonts/verdana.ttf
      fontSize = 12
      niceText = 1
    }
  }
  RO = 1
  RO {
    wrap=|<br>
    backColor = #364496
    XY = 130, 20
    10 = TEXT
    10 {
      text.field = title
      offset = 5,15
      fontColor = #FFFFFF
      fontFile = fileadmin/fonts/verdana.ttf
      fontSize = 12
      niceText = 1
    }
  }
}


Ich hoffe das ich euch helfen konnte. ;o)
Verfasst am: Freitag, 25-11-05 09:32
Oliver Emrich
Dabei seit: 01. 10. 2005
Beiträge: 53
Ich kann meinen Vorrednern nur zustimmen. Ein Beispiel an dieser Stelle wäre mehr als angebracht.

Beispiel! Beispiel! Beispiel! icon_wink.gif
Verfasst am: Sonntag, 02-10-05 10:22
rener
Dabei seit: 17. 09. 2005
Beiträge: 14
Ja, ein funktionierendes Beispiel würde hier die Seite deutlich (gerade für mich als Anfänger) aufwerten.
Verfasst am: Sonntag, 11-09-05 14:10
Dieter Flügel
Dabei seit: 05. 07. 2005
Beiträge: 30
Ich bin eben, durch Zufall auf diese Seiten gestossen. Gut gemacht, aber:
Wenn man sich z.B. selfHTML anschaut, sind über all
mehr oder weniger sinnvolle Beispiele bei. Hier würde es, besonders für Neulinge wie mich helfen.