Zum Inhalt springen

[Beispiel] ypMenu ( GMENU horizontal , ypSlideOutMenus )

Erstellt am 25. Januar 2005 · 119 Antworten · letzte Antwort am 13. November 2007 · Seite 2 von 6

Tags: JavaScript & AJAX, Tipp

mstuebner ·
Alex schrieb

Ist ypMenu auch mit anderen Browsern kompatibel ( Opera, Firefox?)

Was heisst "mit anderen Brwosern"? Was gibt es denn noch, neben Firefox und Opera? ;-)

toyde ·
mstuebner schrieb
Alex schrieb

Ist ypMenu auch mit anderen Browsern kompatibel ( Opera, Firefox?)

Was heisst "mit anderen Brwosern"? Was gibt es denn noch, neben Firefox und Opera? ;-)

Safari z.B. oder andere Browser, via PDA, etc.

mstuebner ·
toyde schrieb

Safari z.B. oder andere Browser, via PDA, etc.

Das ist ok, aber ich glaube der OP meinte was anderes. :-)

Alex ·

Was heisst "mit anderen Brwosern"? Was gibt es denn noch, neben Firefox und Opera?

Naja, ich verwende IE #paralyzed# weil Mr. Gates den so schön verbreitet hat.

Alle meine Browsers aus AWStats:

MS Internet Explorer (Versions) 48694 81.8 %
Unknown 6085 10.2%
Netscape (Versions) 3924 6.5 %
Links 398 0.6 %
Opera 287 0.4 %
Konqueror 73 0.1 %
Nokia Browser (PDA/Phone browser) 28 0 %
LibWWW 8 0 %
UP.Browser (PDA/Phone browser) 4 0 %
Galeon 1 0 %
WebTV browser 1 0 %
EmailSiphon 1 0 %

Alex Weber ·

@n-joy: sehr sehr geile sache, vielen dank das du den code hier postest. habe das menĂŒ wie von dir beschrieben ĂŒbernommen. funktioniert auch alles super.

zwei fragen hÀtte ich aber dann trotzdem noch:

1. was muss ich alles anpassen um das menĂŒ auch vertikal zum laufen zu bekommen? oder hat da eventuell schon jemand was erstellt was er preisgeben wĂŒrde?

2. ist es auch möglich die erste ebene nur als textlinks generieren zu lassen?

Moeffz ·

Hallo,
ich hatte vergleichbares schon unter den 'AnfĂ€ngerfragen gepostet. Ich wollte obiges MenĂŒ auch bei mir integrieren und habe folgende Probleme:

a) Ich habe keine Grafiken zur VerfĂŒgung und habe statt dessen entsprechend eine backColor gesetzt (vgl. Code)
Die entsprechende Variable im php-Code habe ich auskommentiert (auch wenn jetzt erstmal der MAC IE außen vor bleibt.

b) Die ZustÀnde IFSUB und IFSUBRO hatten den Effekt, dass beim RO die Schrift unsichtbar wurde. Habe sie entsprechend herausgenommen und das grafische Problem ist gelöst. Muss ich diese ZustÀnde bei Deinem Beispiel verwenden?

Bei mir tritt nun folgendes Problem auf:
Beim RO ĂŒber einen MenĂŒpunkt, der Unterpunkte hat, geschieht nichts. Auch die Hintergrundfarbe Ă€ndert sich nicht.

Mein Code schaut folgendermaßen aus (Untermenue ist der Name der Markierung; ich habe alles ins Main-Template gebaut):

includeLibs.ypMenu = fileadmin/para/scripts/ypMenu.php
      Untermenue.special.value = 1
      marks.Untermenue.entryLevel = 1
      marksUntermenue = HMENU
      marks.Untermenue {
         1 = GMENU
         1 {
            IProcFunc = user_menu->firstLevel
            expAll = 1
            wrap = |
            NO = 1
            NO {
               wrap = |
               XY = [50.w]+20, 31
               backColor = #CEDBD9
               50 = TEXT
               50 {
                    [...]
               }
          }

          RO < .NO
          RO = 1
          RO {
               backColor = #E7EDEC
               50.fontColor = #00463A
          }
     }    

     2 = TMENU
     2 {
          IProcFunc = user_menu->secondLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }
}

user_menu = USER
user_menu.userFunc = user_menu->menuEnd

Ich hoffe, ich erschlage Euch nicht, aber ich komme einfach nicht auf einen grĂŒnen Zweig 🙁

Therealherby ·

Hallo,

Ist ypMenu auch mit anderen Browsern kompatibel ( Opera, Firefox?)

Ja, siehe http://cerutti.abix.ch/

An welchen stellen muss man eventuell modifizieren?

Tja diese Frage stelle ich mich auch. Benutz mal die Suchfunktion "Beispiel ypmenu", da muesste ne Anleitung kommen. Im Grunde die PHP & Css Datei, die regeln alles designtechnische.

Vielleicht kann mir mittlerweile jemand sagen wie ich die Transparenz fuer Opera, InternetExplorer & Co hinbekomme (Firefox geht's schon).

Ich verspreche auch alles gut kommentiert hier preiszugeben wenn ich fertig bin 8-)

Bye und Gruss
Herby

mstuebner ·
Alex Weber schrieb

1. was muss ich alles anpassen um das menĂŒ auch vertikal zum laufen zu bekommen? oder hat da eventuell schon jemand was erstellt was er preisgeben wĂŒrde?

Du must lediglich in der Datei ypMenu.php in der Funktion function buildIndex($I, $conf, $level) die Zeile:

$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['dir'] = 'down';

in

$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['dir'] = 'right';

Ă€ndern.

maik ·

Ich habe ein kleines Problem. o.O

Soweit funktioniert alles, ich erhalte aber ein paar Warnings.

Ich bekomme immer vier mal

Warning: imagettfbbox(): Could not find/open font in /var/www/typo3.7/fileadmin/scripts/ypMenu/ypMenu.php on line 135

gefolgt von einmal

Warning: Cannot modify header information - headers already sent by (output started at /var/www/typo3.7/fileadmin/scripts/ypMenu/ypMenu.php:135) in /var/www/typo3.7/typo3_src-3.7.0/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2402
temp.ypMenu.special = directory

Hat jemand eine Ahnung, was das sein könnte?

maik ·

Es lag daran, dass imagettfbbox die Fonts nicht gefunden hat.

nachdem ich im php file den Pfad zur Verdana nach t3lib/fonts/verdana.ttf umgebogen hatte, waren die Warnings weg.

n-joy ·

Hi Leute...

Kurz zum Thema BrowserkompatibilitÀt:
Opera: Das MenĂŒ funktioniert nur wenn sich Opera NICHT als Opera ausgibt. Wenn ihrs doch so einstellt, dann funktioniert das gesamte JavaScript nicht bzw. nur fehlerhaft... was ein "nicht ausfahren" der MenĂŒ's zur Folge hat.

Jetzt noch etwas zur MenĂŒtransparenz:
Bei Opera gibt es im Hinblick auf die MenĂŒtransparenz noch etwas zu beachten, denn auch wenn sich Opera nicht als solcher ausgibt funktioniert die "standard-transparenz" nicht. Daher muss man in der ypMenu.php folgendes einstellen:

var $transBg = 'fileadmin/scripts/ypMenu/menu_bg.png'; // transparente PNG datei, behebt transparenz-fehler beim Mac IE 5 und Opera - die PNG-Transparenz sollte die gleiche sein wie die der CSS-FILTER-eigenschaft: alpha(opacity)

Das png Bild welches man dort einstellt ist jenes das bei Opera als MenĂŒhintergrund benutzt wird. Dieses png Bild muss man dementsprechend seinem MenĂŒ anpassen sowohl farblich als auch von der transparenzstĂ€rke her.

Um sicherzustellen, dass das MenĂŒ von der transparenz her in Opera, IE, Firefox und anderen Browsern gleich aussieht sollte man sich vielleicht folgenden code(ab Zeile 275) in der ypMenu.php anschaun:

            // ie >= 5.5 on win and mozilla can render transparency by css
         if(($clientinfo['SYSTEM'] == 'win' AND $clientinfo['BROWSER'] == 'msie' AND $clientinfo['VERSION'] >= 5.5) OR ($clientinfo['SYSTEM'] == 'win' AND $clientinfo['BROWSER'] == 'net')) {
            $filter = true;
            $style = 'style="-moz-opacity:.82; filter:alpha(opacity=82); background-color: #d3d3d3"';
            // Mr. IE on Mac needs a special treatment - a transparent png in a img tag in the background
         } elseif($clientinfo['SYSTEM'] == 'mac' AND ($clientinfo['BROWSER'] == 'msie')) {
            $pngimg = true;
            $style = 'style="background-color: transparent"';
            // Opera and Mozilla on Mac can handle transparent pngs
         } elseif(($clientinfo['SYSTEM'] == 'mac' AND $clientinfo['BROWSER'] == 'net') OR ($clientinfo['BROWSER'] == 'opera')){
            $pngbg = true;
            $style = 'style="background-image: url(''. $this->transBg .'');"';
            // no transparency for the rest - go get firefox!
         } else {
            $bg = true;
            $style = 'style="background-color: transparent"';
            $appendix = 'b';
         }

Wie man sieht wird hier unter anderem die Transparenz fĂŒr den MSIE und den Mozilla/Firefox festgelegt... ( style="-moz-opacity:.82; filter:alpha(opacity=82); background-color: #d3d3d3" )
Die anderen Einstellungen wĂŒrde ich hier unverĂ€nder lassen.. es sei denn man hat Ahnung 😉

Ich hoffe hiermit einigen weitergeholfen zu haben, was die BrowserkompatibilitĂ€t und Transparenz des MenĂŒ's angeht ... 🙂

MfG

solar ·

Hallo,

wie bekomme ich den das Menu mit TemplaVoila umgesetzt?

Die Marker:

marks.MENU = COA
marks.MENU {
10 < temp.ypMenu
20 < temp.user_menu
}

gehen ja so nicht.

Wie und wo setze ich temp.user_menu ?

Vielen Dank fĂŒr eure Hilfe

s.​sach ·

Hi Leute,

jetzt mache ich schon seit Tagen mit diesem MenĂŒ rum und verzweifele bald. Habe mich ganz genau an die Anleitung gehalten, jedoch wird bei mir kein MenĂŒ angezeigt. Content usw. wird angezeigt, jedoch das MenĂŒ nicht.

Ich denke mein Fehler liegt hier: In Beispiel steht ja unter temp.ypMenu "... Deshalb kommt auch nur wenig TS in das MainTemplate(externes Template einbinden)". Wie binde ich dies genau ein? Wird es nicht schon durch "10 < temp.ypMenu" eingebunden?

Habe das Template "temp.ypMenu" mal bei "Include base template" eingetragen. Dann kommt jedoch die Fehlermeldung "Fatal error: Call to undefined function: getmountpointinfo() in /www/htdocs/xxxxxxx/fileadmin/scripts/ypMenu/ypMenu.php on line 101". Die ID der Rootseite habe ich jedoch korrekt eingetragen.

Und was hat es mit "20 < temp.user_menu" auf sich?

Vielen Dank fĂŒr Eure Hilfe!

n-joy ·

Hi s.sach,

das externe Template bildest du schon richtig ins MainTemplate ein... also

1. das externe Template ins "Include base template" des MainTemplates eintragen

2. und dann noch ins MainTemplate die "platzhalter (temp.blablubb) " aus dem externen Template durch "<" einbeziehen...

also so in etwa:

... weiterer TS-code

    marks.MENU = COA
    marks.MENU {
        10 < temp.ypMenu
        20 < temp.user_menu
    }

... weiterer TS-code

< temp.ypMenu (hierdurch wird das menĂŒ an sich angebunden, also der TS-code wird ĂŒbergeben [bestimmt wo genau das menĂŒ erscheinen soll])

< temp.user_menu (diese ĂŒbergabe beinhaltet einen teil des menĂŒ-quellcodes, der dann in der html-ausgabe entscheident ist [dieser teil kann irgendwo in der seite ausgegeben werden])

hoffentlich war ich auch nur halbwegs verstÀndlich 8-)

MfG

s.​sach ·

@n-joy

Danke. Hab es gerade mal auf einem anderen Account bei einem anderen Provider versucht. Dort funktioniert es. Kann es sein, dass ein Provider das AusfĂŒhren von Javascript unterbindet?

n-joy ·

nein, javascript kann vom server her nicht unterbunden werden ! (es sei denn da lÀuft ein script durch alle files und macht den js-code unschÀdlich - was aber eh nicht so sein wird ^^)

also nein, javascript wird nie von servern unterdrĂŒckt, da es vom client ausgefĂŒhrt/verarbeitet wird !

evtl. hats auf dem anderen Provider funktioniert weil du nicht die gleiche konfiguration benutzt hast ? ..also nicht die selben extensions usw. ? 🙂 (es gibt recht viele konflikte zwischen den ganzen extensions . . . und auch den eingebauten scripten )

MFG

s.​sach ·

Also ich hatte auf dem Account, wo das MenĂŒ nichtfunktionierte noch Typo 3.6 Beta2 laufen. Hab es auf 3.6.2 upgedatet und nun funktioniert das MenĂŒ #paralyzed#

s.​sach ·

Hi Leute,

brĂ€uchte mal Hilfe. Möchte im HauptmenĂŒ erreichen, dass beim Rollover ein border-bottom angezeigt wird.

Habe folgenden und Àhnlichen Code schon an den verschiedensten Stellen versucht, leider ohne Erfolg:

wrap = <div style="border-bottom: solid 2px #FF0000"> | </div>
config.no_cache = 1
page.includeLibs.ypMenu = fileadmin/ypMenu/ypMenu.php
page.headerData.11 = TEXT
page.headerData.11.value = <script type="text/javascript" src="fileadmin/ypMenu/ypSlideOutMenus.js" language="JavaScript"></script>
temp.ypMenu.special = directory
# 57 ist die ID der root-page - siehe screenshot 
temp.ypMenu.special.value = 1
temp.ypMenu = HMENU
temp.ypMenu {
     1 = GMENU
     1 {
          IProcFunc = user_menu->firstLevel
          expAll = 1
          wrap = |
          NO = 1
          NO {
               wrap = |
               XY = 160, 31
               30 = IMAGE
               30.file = fileadmin/ypMenu/menu_bg2.gif
               50 = TEXT
               50 {
                    text.field = title
                    fontSize = 10
                    fontFile = fileadmin/fonts/verdana.ttf
                    fontColor = #FFFFFF
                    offset = 7,20
                    niceText = 0
                    transparentBackground = 1
               }
               100 = || IMAGE
               100.file = fileadmin/ypMenu/menu_space.gif
          } 
          IFSUB < temp.ypMenu.1.NO
          IFSUB = 1

          RO < temp.ypMenu.1.NO
          RO = 1
          RO {
               wrap = <div style="border-bottom: solid 2px #FF0000"> | </div>
               backColor = #88BCE8
               30 >
          }

          IFSUBRO < temp.ypMenu.1.NO
          IFSUBRO = 1
          IFSUBRO {
               backColor = #88BCE8
               30 >
          }
     }    

     2 = TMENU
     2 {
          IProcFunc = user_menu->secondLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }

     3 = TMENU
     3 {
          IProcFunc = user_menu->thirdLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }

     4 = TMENU
     4 {
          IProcFunc = user_menu->fourthLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }
}

temp.user_menu = USER
temp.user_menu.userFunc = user_menu->menuEnd

Vielen Dank!

McLoud ·

Hi bin kurz vorm verzweifeln!
kann jemand mal hier http://xevent.de/index.php?id=392 vorbeisehen und mir sagen was ich falsch mache!
Ich hab es schonmal hinbekommen dass das Menu angezeigt wird nur leider total falsch! und es fÀhrt nicht wieder ein!

zum Hintgrund hab das Setup im Main Template anpassen mĂŒssen:

page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/templates/style2/class.css
     page.10.marks.MENU = COA
     page.10.marks.MENU {
     10 < temp.ypMenu
     20 < temp.user_menu
     }

Da ich das Crcph Template als Grundlage genommen hatte fĂŒr mein Template.

Der Rest ist im originalzustand wie es beschrieben wurde. Vielleicht ĂŒbersehe ich nur ne Kleinigkeit.

Anbei auch ein teil meines html Code

 <div id="headerlayer" style=" color: black; font-size: medium; font-family: serif; visibility: visible; display: block; position: absolute; z-index: 1; top: 10px; left: 4px; width: 775px"> 
<table width="770" border="0" cellspacing="0" cellpadding="0">
<tr> 
<td width="151"><img src="header_left.gif" width="151" height="70"></td>
								<td class="hdr" colspan="2"><img src="spacer.gif" width="1" height="70"></td>
							</tr>
</table>
</div>
<div id="mainlayer" style="position:absolute; left:4px; top:80px; width:770px; z-index:2"> 
<table width="770" border="0" cellspacing="0" cellpadding="0">
<tr> 
<td colspan="6" class="menuborder"> <table width="770" border="0" cellspacing="1" cellpadding="0">
<tr> 
<td><div id="cMenu">###MENU###</div></td></tr>
</table></td>
</tr>
<tr>
					<td height="340" valign="top" class="menucell" width="770" colspan="3">&nbsp; </td>
				</tr>
<tr> 
<td class="tabcontent" width="16" valign="bottom"><img src="footer_left.gif" width="16" height="16"></td>
<td class="footer" width="738"> <p></p></td>
					<td class="tabcontent" width="16" valign="bottom"><img src="footer_right.gif" width="16" height="16"></td>
				</tr>
</table>
</div>
<div id="parentslayer" style=" color: black; font-size: medium; font-family: serif; visibility: visible; display: block; position: absolute; z-index: 3; top: 120px; left: 21px; width: 542px; height: 295px; overflow: hidden; clip: rect(0 400 295 0)"> 
<div id="childslayer" style=" color: black; font-size: medium; font-family: serif; visibility: visible; display: block; position: absolute; z-index: 1; top: 0; left: 0; width: 534px"> 
<table width="533" border="0" cellspacing="0" cellpadding="0">
<tr> 
<td class="content" valign="top"><!-- ###SUB_CONTENT### start
	
	This indicates the main content area
	
	--><!-- ###SUB_HEADER1### 
	
	This is the layout of header type 1
	
	-->
							<table width="553" border="0" cellspacing="2" cellpadding="0">
								<tr>
									<td><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#ffffff">###MARK_HEADER###</font></td>
								</tr>
								<tr>
									<td bgcolor="#D6D3CE"><img src="apache/htdocs/xevent/media/uploads/crcph/clear.gif" width="1" height="1" alt="" /></td>
								</tr>
								<tr>
									<td bgcolor="#D6D3CE"><img src="apache/htdocs/xevent/media/uploads/crcph/clear.gif" width="1" height="1" alt="" /></td>
								</tr>
								<tr>
									<td bgcolor="#D6D3CE"><img src="apache/htdocs/xevent/media/uploads/crcph/clear.gif" width="1" height="1" alt="" /></td>
								</tr>
							</table>
							<!-- ###SUB_HEADER1### --><!-- ###SUB_CONTENT### end --></td>
</tr>
</table>
Strichmaennli ·

hallo mcloud

habe vorbeigeschaut und konnte keine probleme erkennen. Was sollte bei deinem menĂŒ nicht funktionieren?

Kannst Du mir bei bei meinem problem helfen?
siehe #23000

gruss