Zum Inhalt springen

aufklappendes Menü (TMENU)

Erstellt am 14. Januar 2004 · 47 Antworten · letzte Antwort am 8. Januar 2009 · Seite 3 von 3

Tags: Frage

Zwärg ·

ich habe den ganz am Anfang dieses Threads angegeben Setup Code kopiert und eingefügt. Stylesheets habe ich auch so übernommen. Marker gesetzt aber leider bekomme ich kein Menu angezeigt 🙁

# Sprachen konfigurieren 
    config.sys_language_uid = 0 
    config.language = de 
    config.locale_all = German

page = PAGE
page.typeNum = 0
page.bodyTag = <BODY leftMargin=0 topMargin=0 marginwidth="0" marginheight="0">

page.includeCSS {
  file1 = fileadmin/template_menu/style.css
}

page.20 = TEMPLATE
page.20 {
    template = FILE
    template.file = fileadmin/template_menu/index.html
    workOnSubpart = DOCUMENT
    subparts.CONTENT < styles.content.get

      marks.DATUM = COA 
      marks.DATUM { 
         10 = TEXT 
         10.data = date:U 
         10.strftime = %A, %d. %B %Y 

          } 


############################## 
HAUPTEMENU: MENU_MAIN 
############################## 

   # Benoetigte Libaries einfuegen 
   page.includeLibs.tmenu_layers = media/scripts/tmenu_layers.php 

   # Menu erzeugen 
   temp.MENU_MAIN = HMENU 

   ################ 
   # MENU EBENE 1 # 
   ################ 
     # Ebene 1 erzeugen 
     temp.MENU_MAIN.1 = TMENU_LAYERS 
     # Eigenschaften Ebene 1 
     temp.MENU_MAIN.1 { 

                layerStyle = position:absolute;VISIBILITY:hidden; 

                # Menu verankern, damit es nicht der Maus folgt 
                lockPosition = x 

                # Position wo sich die naechste Ebene oeffnen soll (Ebene 2) 
                relativeToParentLayer=1 
                relativeToTriggerItem=1 
                topOffset=16 
                leftOffset=0 
                # Angabe wann sich die naechste Ebene wieder schliessen soll 
                hideMenuWhenNotOver = 50 
                hideMenuTimer = 70 

                # alle Menuepunkte anzeigen 
                expAll=1 

                # Darstellung der aktuellen Ebene 
                wrap = <table border="0" cellspacing="0" cellpadding="0" class="menu1_main"><tr>|</tr></table> 
                # Darstellung im Normalmodus 
                NO { 
                    allWrap = <td class="menu1_main"> | </td> 
                   } 
                # Darstellung wenn Aktiv 
                ACT = 1 
                ACT { 
                     allWrap =  <td class="menu1_main_act"> | </td> 
                     } 

                # Ende Ebene 1 
                } 


   ################ 
   # MENU EBENE 2 # 
   ################ 
     # Ebene 1 erzeugen 
     temp.MENU_MAIN.2 = TMENU_LAYERS 
     # Eigenschaften Ebene 1 
     temp.MENU_MAIN.2 { 

                layerStyle = position:absolute;VISIBILITY:hidden; 

                # Menu verankern, damit es nicht der Maus folgt 
                lockPosition = x 

                # Position wo sich die naechste Ebene oeffnen soll (Ebene 2) 
                relativeToParentLayer=1 
                relativeToTriggerItem=1 
                topOffset=0 
                leftOffset=140 


                # alle Menuepunkte anzeigen 
                expAll=1 

                # Darstellung der aktuellen Ebene 
                wrap = <table border="0" cellspacing="0" cellpadding="0">|</table> 
                # Darstellung im Normalmodus 
                NO { 
                    allWrap = <tr><td class="menu1_main2"> | </td></tr> 
                   } 
                # Darstellung wenn Aktiv 
                ACT = 1 
                ACT { 
                     allWrap =  <tr><td class="menu1_main2_act"> | </td></tr> 
                    } 
                # Darstellung fuer Unterpunkte mit Subpunkten 
                IFSUB = 1 
                IFSUB { 
                     allWrap =  <tr><td class="menu1_main2_sub"> | </td></tr> 
                    } 

                # Ende Ebene 2 
                } 



   ################ 
   # MENU EBENE 3 # 
   ################ 
     # Ebene 1 erzeugen 
     temp.MENU_MAIN.3 = TMENU 
     # Eigenschaften Ebene 1 
     temp.MENU_MAIN.3 { 


                # Darstellung der aktuellen Ebene 
                wrap = <table border="0" cellspacing="0" cellpadding="0">|</table> 
                # Darstellung im Normalmodus 
                NO { 
                    allWrap = <tr><td class="menu1_main2"> | </td></tr> 
                   } 
                # Darstellung wenn Aktiv 
                ACT = 1 
                ACT { 
                     allWrap =  <tr><td class="menu1_main2_act"> | </td></tr> 
                     } 

                # Ende Ebene 3 
                } 

# Marker durch Menü ersetzten: 
subparts.MENU_MAIN < temp.MENU_MAIN

Bin für jede Hilfe dankbar

Cre8tive ·

Stand zwei, drei Beiträge über deinem:

Cre8tive schrieb

Hallo.

Du hast das Menü falsch eingebunden, ich habe es in einem externen Template stehen, du packst alles ins Root-Template.

Das Problem tauchte auch schon mal am Anfang des Threads auf:

woodworker schrieb

trotz Copy n' Paste ist es mir nicht gelungen dein Menu zu laufen zu bekommen

glaube zwar das es an mir liegt aber poste trotzdem mal *G*

EDIT: durch ein anderen Post ist mir aufgefallen das ich es flasch eingebunden habe
Link: #8582

Sunplasma Software ·

falls es jemanden interessiert!

opera - problem kann man so lösen

this.x= (bw.ns4||bw.op)?this.css.left:this.el.offsetLeft;
this.y= (bw.ns4||bw.op)?this.css.top:this.el.offsetTop;
this.height= (bw.ie4||bw.ie5||bw.ns6)?this.el.offsetHeight:bw.ns4?this.ref.height:bw.op?this.css.pixelHeight:0;
this.width= (bw.ie4||bw.ie5||bw.ns6)?this.el.offsetWidth:bw.ns4?this.ref.width:bw.op?this.css.pixelWidth:0;

aus der datei jsfunc.layermenu.js (Scripts Verzeichnis)

ersetzen durch

        this.x= (bw.ns4)?this.css.left:this.el.offsetLeft; 
        this.y= (bw.ns4)?this.css.top:this.el.offsetTop; 
        this.height=(bw.ie4||bw.dom)?this.el.offsetHeight:bw.ns4?this.ref.height:0; 
        this.width=(bw.ie4||bw.dom)?this.el.offsetWidth:bw.ns4?this.ref.width:0;

hab ich hier aus dem forum erfahren und funktioniert super! [/quote]

aga ·

Danke für die Einträge hier, das war geballte Information.

Und jetzt klappt alles. 😉

aga

WiseGuy ·

Ich kann die Bilder einfach nicht sehen. Bei mir steht oft nur der tag aber kein Bild, weil die wohl nicht mehr dort liegen.

Zum Beispiel bekomme ich dann diese Fehlermeldung:
"Error. Reason: Segment "howto_typo3" was not a keyword for a postVarSet as expected!"

sind die Bilder wirklich nicht mehr dort oder KANN ich die aus irgendeinem Grund nicht holen, weil ich keine Berechtigung hab?

Das ist bei mir in diesem Forum ein Grundsätzliches Problem - zum Beispiel auch bei dem Tut zum Auslagern von TS

mfg Benjamin

maxB ·

Ich danke erst einmal dem Autor für die Mühe, die er sich mit diesem Menü gemacht hat. Ich wollte es erst einmal durch simples Copy & Paste probieren - das Menü sehe ich auch mit den vorgeschlagenen Styles. Die Stylesheets an sich wären später auch kein Problem.
Allerdings wird bei mir die zweite Ebene einfach nicht eingeblendet - das "Layer-Menü" funktioniert somit einfach nicht. Laut IE 6 & 7 gibt es einen "Fehler auf der Seite". Laut der Angaben in folgender Zeile:

<script type="text/javascript">
	/*<![CDATA[*/
        function T3_onmousemoveWrapper(e)	{	GL_getMouse(e);   GLf6623f_getMouse(e);   GL05cae6_getMouse(e);	}
	[...]	/*]]>*/
</script>

Im Firefox wird dieser Fehler einfach nicht gemeldet, aber das Menü funktioniert dort ebenfalls nicht.

Mein Root-TS:

### Sprach-Einstellungen
config.linkVars = L

[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
[global]

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_GB
[global]

config.uniqueLinkVars = 1

### XHTML-Cleaning aktivieren ###
config.xhtml_cleaning = all

### Cache-Config ###
config.no_chache = 1
#config.cache_period = 3600

### Doctype der Seite ###
config.doctype = xhtml_trans

### Admin-Panel ###
config.admPanel = 0

### Durch FE-User die BE-User simulieren
page.headerData.10 < plugin.tx_simulatebe_pi1

### E-Mail-Adressen-Schutz
config.spamProtectEmailAddresses = 4
config.spamProtectEmailAdresses_atSubst = [at]

### Anker vor dem Inhalt entfernen ###
tt_content.stdWrap.dataWrap = 

plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE >
plugin.tx_newloginbox_pi3._CSS_DEFAULT_STYLE >

### RTE-Config ###
# class="bodytext" aus den P-Tags entfernen #
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class = 
# Standard-Klasse in Tabellen entfernen #
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list >

lib.stdheader.stdWrap.dataWrap = |
lib.stdheader.10.1.fontTag = <h1>|</h1>
lib.stdheader.10.2.fontTag = <h2>|</h2>
lib.stdheader.10.3.fontTag = <h3>|</h3>

### PAGE-Definitionen
page = PAGE
page {
	includeLibs.tmenu_layers = fileadmin/site/scripts/tmenu_layers.php
	includeCSS.file1 = fileadmin/site/styles/standard.css
	
	typeNum = 0
	target = _self

	10 = TEMPLATE
	10 {
  		template = FILE
		template.file = fileadmin/site/templates/standard.htm
		
		workOnSubpart = DOCUMENT_BODY
		
		subparts.HEADER < temp.header
		subparts.TOPNAVI < temp.topnavi
		subparts.CONTENT_MAIN < styles.content.get
		subparts.FOOTER < temp.footer
	}
}

temp.language = USER
temp.language {
	userFunc = tx_bblanguageselect_pi1->showFlags
	iconset = famfamfam
	cn_DE = 0
	cn_GB = 1
}

page.20 < temp.language

Template des Menüs:

##############################
 HAUPTEMENU: MENU_MAIN
##############################

   # Benoetigte Libaries einfuegen
   

   # Menu erzeugen
   temp.topnavi = HMENU 
   temp.topnavi.special = directory
   temp.topnavi.special.value = 115

   ################
   # MENU EBENE 1 #
   ################
     # Ebene 1 erzeugen
     temp.topnavi.1 = TMENU_LAYERS 
     # Eigenschaften Ebene 1
     temp.topnavi.1 { 
 
                layerStyle = position:absolute;VISIBILITY:hidden;
 
                # Menu verankern, damit es nicht der Maus folgt 
                lockPosition = x 

                # Position wo sich die naechste Ebene oeffnen soll (Ebene 2) 
                relativeToParentLayer=1 
                relativeToTriggerItem=1 
                topOffset=16 
                leftOffset=0
                # Angabe wann sich die naechste Ebene wieder schliessen soll 
                hideMenuWhenNotOver = 50 
                hideMenuTimer = 70 

                # alle Menuepunkte anzeigen 
                expAll=1 

                # Darstellung der aktuellen Ebene 
                wrap = <table border="0" cellspacing="0" cellpadding="0" class="menu1_main"><tr>|</tr></table> 
                # Darstellung im Normalmodus
                NO {
                    allWrap = <td class="menu1_main"> | </td>
                   }
                # Darstellung wenn Aktiv
                ACT = 1
                ACT { 
                     allWrap =  <td class="menu1_main_act"> | </td> 
                     }

                # Ende Ebene 1
                } 


   ################
   # MENU EBENE 2 #
   ################
     # Ebene 1 erzeugen
     temp.topnavi.2 = TMENU_LAYERS 
     # Eigenschaften Ebene 1
     temp.topnavi.2 { 
 
                layerStyle = position:absolute;VISIBILITY:hidden;
 
                # Menu verankern, damit es nicht der Maus folgt 
                lockPosition = x 

                # Position wo sich die naechste Ebene oeffnen soll (Ebene 2) 
                relativeToParentLayer=1 
                relativeToTriggerItem=1 
                topOffset=0 
                leftOffset=140


                # alle Menuepunkte anzeigen 
                expAll=1 

                # Darstellung der aktuellen Ebene 
                wrap = <table border="0" cellspacing="0" cellpadding="0">|</table> 
                # Darstellung im Normalmodus
                NO {
                    allWrap = <tr><td class="menu1_main2"> | </td></tr>
                   }
                # Darstellung wenn Aktiv
                ACT = 1
                ACT { 
                     allWrap =  <tr><td class="menu1_main2_act"> | </td></tr> 
                    }
                # Darstellung fuer Unterpunkte mit Subpunkten
                IFSUB = 1
                IFSUB { 
                     allWrap =  <tr><td class="menu1_main2_sub"> | </td></tr> 
                    }

                # Ende Ebene 2
                } 



   ################
   # MENU EBENE 3 #
   ################
     # Ebene 1 erzeugen
     temp.topnavi.3 = TMENU 
     # Eigenschaften Ebene 1
     temp.topnavi.3 { 
 

                # Darstellung der aktuellen Ebene 
                wrap = <table border="0" cellspacing="0" cellpadding="0">|</table> 
                # Darstellung im Normalmodus
                NO {
                    allWrap = <tr><td class="menu1_main2"> | </td></tr>
                   }
                # Darstellung wenn Aktiv
                ACT = 1
                ACT { 
                     allWrap =  <tr><td class="menu1_main2_act"> | </td></tr> 
                     }

                # Ende Ebene 3
                }

Vielen Dank im Voraus an alle Helfer und Leser.

Naerys ·

Habe das Menü auch auf meiner Seite verwendet. Leider hab ich damit ein kleines Problem welches ich leider noch nicht gelöst bekommen habe.

Wenn ich mit der Maus über die erste Menü-Ebene fahre und somit sich die zweite Menü-Ebene öffnet wird diese unformatiert angezeigt. Also als ganz normale blaue unterstrichene Textlinks. Erst wenn ich jeden dieser Menüpunkte einmal angeklickt habe erhalte ich das gewünschte Layout. Ich habe das CSS so wie es ist kopiert und einfach nur die Farben verändert. Hat jemand ne Idee warum das so ist?

Naerys ·

OK. Der Fehler lag bei mir. Das Untermenü ist ja im Quelltext nicht im gleichen Bereich wie die erste Ebene. Ich hatte den Klassen des Untermenüs aber eine ID voran gestellt im Stylesheet mit dem das Untermenü so gesehen nichts anfangen konnte. Die ID im Stylesheet entfernt und schon wird das Menü im gewünschten Layout angezeigt.