---
title: "www.meade.de"
url: "https://www.typo3.net/d/15065-wwwmeadede"
source: "typo3.net"
tags: ["Community","Eure Projekte","Diskussion"]
created: "2004-08-23"
last_reply: "2006-07-03"
replies: 180
solved: true
page: 2
pages: 2
lang: "de"
---

# www.meade.de (Seite 2 von 2)

Community › Eure Projekte · 180 Antworten · gelöst · gestartet 2004-08-23

Frage und beste Antwort: [Seite 1](https://www.typo3.net/d/15065-wwwmeadede.md)

## Antworten (#103 bis #183)

### [#103](https://www.typo3.net/d/15065-wwwmeadede/103) · maik · 2005-04-03

> **Liberation schrieb:**
>
> Vielleicht mal in der php Datei nachschauen -:)

#
OK, da hatte ich es als letztes vermutet.
Ich hätte das halt im CSS erwartet .
Das dieses Style nun hart ins PHP gecode ist ...
 o.O

Vielleicht ein kleiner Verbesserungsvorschlag, für die ansonsten doch super Arbeit.

### [#104](https://www.typo3.net/d/15065-wwwmeadede/104) · Liberation · 2005-04-03

das muss in der php datei stehen weil diese jeden browser typ ein anderes style verpasst das das menu immer sauber läuft. :)

### [#105](https://www.typo3.net/d/15065-wwwmeadede/105) · Guido · 2005-04-09

Hi SilverBlue,

konntest Du mein ts mal checken wegen des Verschwindens der Schrift beim Rollover auf meinem GMENU?

Der Fehler kann doch nur hier liegen:

```typoscript
RO < marks.MENU_MAIN.1.NO 
RO = 1 
RO  { 
   backColor = #aaaaaa 
} 

IFSUBRO < marks.MENU_MAIN.1.NO 
IFSUBRO = 1 
IFSUBRO  { 
   backColor = #aaaaaa 
  } 
}
```

Any ideas?

Danke Dir/Euch!

### [#106](https://www.typo3.net/d/15065-wwwmeadede/106) · s.​sach · 2005-04-11

Hi Leute,

ich versuche, wie bei www.sci-worx-emv.de im 1. Level bei Hover und Active ein roter border-bottom angezeigt wird. Leider komme ich nicht zum Erfolg. Vielleicht kann mir jemand weiterhelfen?

Habe z.B. u.a. folgendes versucht:

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

oder (mit entsprechendem CSS-Eintrag)

> RO < temp.ypMenu.1.NO
>           RO = 1
>           RO {
>                wrap = <div class="menu_border"> | </div>
>                backColor = #88BCE8
>                30 >

Vielen Dank.

### [#107](https://www.typo3.net/d/15065-wwwmeadede/107) · SilverBlue · 2005-04-11

Bei www.sci-worx-emv.de ist das per Gifbulder gemacht.

### [#108](https://www.typo3.net/d/15065-wwwmeadede/108) · Liberation · 2005-04-11

Ja ist per Gifbuilder.

```typoscript
NO {

  wrap = |
    #button grösse
    XY = 177, 67
    #transparentBackground = 1
    backColor = #011D65 || #004A85 || #015BA2 || #88A6C3
    50 = TEXT
    50 {
    text.field = title
    fontSize = 15
    fontFile = fileadmin/fonts/Arial.ttf
    #fontFile = fileadmin/fonts/55HelveNeuRom.PFB
    fontColor = #ffffff
    align = center
    offset = 0,36
    #offset = -[50.w] + 90,36
    niceText = 1
}
    

     #Menu Balken bei mouseover am fuss der Schaltfläche
     99 = IMAGE
     99.file = GIFBUILDER
     99.file {
     XY = 400, 67
     90 = IMAGE
     90.file = fileadmin/template/images/line_menu.gif
     90.offset = 0, 64
     transparentBackground = 1
     }



   100 = || IMAGE
   100.file = fileadmin/template/images/spacer.gif
}
```

bitte

### [#109](https://www.typo3.net/d/15065-wwwmeadede/109) · Liberation · 2005-04-11

Hallo,
habe mir mal die mühe gemacht und das problem beseitigt das das menu bisher nur mit config.no_cache=1 sauber auf allen browsern läuft.

Habe dazu das php und den css code überarbeitet/geändert

PHP datei:

```php
<?php
/***************************************************************
*  Copyright notice
* 
*  (c) 2003 Andreas Tschirpke (tschirpke@at-mediendesign.de)
*  All rights reserved
*
*  This script is part of the Typo3 project. The Typo3 project is
*  free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  The GNU General Public License can be found at
*  http://www.gnu.org/copyleft/gpl.html.
*
*  This script is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
/**
* User class to build Javascript Menu (www.xyz.de)
*
* @author Andreas Tschirpke <tschirpke@at-mediendesign.de>
*
* Modified by Alex.Elsner <alex.elsner@cms-medien-design.de>
*/

#$GLOBALS['TSFE']->set_no_cache();  // wird nicht mehr gebraucht :)

class user_menu {
   var $offsetY = 28; // inital offset values for the first level elements
   var $offsetX = 0;
   var $sublevelWidth = 154; // width and height values for sublevel items
   var $sublevelHeight = 22;
   
   var $padding = 5;
   var $fontSize = 9;
   var $breakpoint = 28; // recalculate width of text after x characters
   var $secPadding = 12; // 16 padding inc. border
   
   var $fontFile = 'fileadmin/template/fonts/verdana.ttf'; // font file needed to calculate linebreaks
   var $transBg = 'fileadmin/template/img/menu_bg.png'; // transparent PNG file - needed to fix a transparency bug in Mac IE 5  
   
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
    function firstLevel($I,$conf) {
        return $this->buildIndex($I, $conf, 1);
    }
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
   function secondLevel($I,$conf) {
      return $this->buildIndex($I, $conf, 2);
   }
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
   function thirdLevel($I,$conf) {
        return $this->buildIndex($I, $conf, 3);
    }
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
   function fourthLevel($I, $conf) {
           return $this->buildIndex($I, $conf, 4);
    }

      
   /**
    * Returns true if there is a submenu with items for the page id, $uid
    * Used by the item states "IFSUB" and "ACTIFSUB" to check if there is a submenu
    *
    * @param   integer      Page uid for which to search for a submenu
    * @return   boolean      Returns true if there was a submenu with items found
    * @access private
    */
      // copy from tslib_menu   
   function isSubMenu($uid)   {
         // Looking for a mount-pid for this UID since if that exists we should look for a subpages THERE and not in the input $uid;
      $mount_info = $GLOBALS['TSFE']->sys_page->getMountPointInfo($uid);
      if (is_array($mount_info))   {
         $uid = $mount_info['mount_pid'];
      }

      $recs = $GLOBALS['TSFE']->sys_page->getMenu($uid,'uid,pid,doktype,mount_pid,mount_pid_ol');
      foreach($recs as $theRec)   {
         if (!t3lib_div::inList('5,6',$theRec['doktype']) && !$theRec['nav_hide'])   {   // If a menu item seems to be another type than 'Not in menu', then return true (there were items!)
            return TRUE;
         }
      }
   }

   /**
    * Breaks textarea text into lines of specified width in order to feed Gifbuilder (see function makeTextImage)
    *
    * @param    string        $text: input text
    * @param    integer        $size: specified font size
    * @param    string        $font: absolute path to specified font file
    * @param    integer        $width: specified width of the image box
    * @return    array        array of lines of text
    */
       // copy from sr_sendcard
      // thanks and credits go to Peter Bowyer <peter@sendcard.org>
   function text_to_lines($text, $size, $font, $width) {
      $words = t3lib_div::trimExplode(' ', str_replace("
", ' <br> ', str_replace("

", ' <br> ', str_replace("|", ' <br> ', $text))), 0);

      $p = 0;
      $lines = array();
      $lines[0] = '';

      for($i = 0; $i < count($words); $i++) {
         ($lines[$p] ) ? $test = $lines[$p].' '.$words[$i] : $test = $words[$i];

         $bbox = imagettfbbox($size, 0, $font, $test);

         if ($words[$i] == '<br>') {
            $p++;
            $lines[$p] = '';
         } elseif (($bbox[4] - $bbox[6]) > $width ) {
            $p++;
            $lines[$p] = $words[$i];
         } else {
            $lines[$p] = $test;
         }
      }
      return count($lines);
   }

   /**
    * Collects all needed information (width, height, x, y, level etc.) and structural information for the ypMenu.
    * Information are stored in $GLOBALS['TSFE']->applicationData['ypMenus']
    *
    * @param    array        $I: Array created by TMENU including all menu elements for the current level
    * @param    integer      $conf: Configuration array
    * @param    integer      $level: hierarchical depth
    * @return   array        $I: modified $I array
    */   
   function buildIndex($I, $conf, $level) {
         // fix IE 5.0 on windows
		 // no longer necessarily
#      $clientAdjust = 0;
#      $clientinfo = t3lib_div::clientInfo();
#      if($clientinfo['SYSTEM'] == 'win' AND $clientinfo['BROWSER'] == 'msie' AND $clientinfo['VERSION'] < 5.5) {
#         $clientAdjust = 2;
#      }
      
         
      switch($level) {
      case "1":
            // only wrap in ypSlide Action if submenu is present
         if($this->isSubMenu($I['uid'])) {
               // JS actions
            $onmouseover = "ypSlideOutMenu.showMenu('menu" .$I['uid']. "'); over('" .$I['theName']. "');";
            $onmouseout = "ypSlideOutMenu.hideMenu('menu" .$I['uid']. "'); out('" .$I['theName']. "');";
            
               // collect data for correct positions
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['level'] = $level;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['uid'] = $I['uid'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['imgwidth'] = $I['val']['output_w'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['imgheight'] = $I['val']['output_h'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['width'] = $this->sublevelWidth;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['height'] = $this->sublevelHeight;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['dir'] = 'down';
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['top'] = $this->offsetY;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['left'] = $GLOBALS['TSFE']->applicationData['ypTemp']['x'] + $this->offsetX;         
            
               // build ypMenu JS
            $GLOBALS['TSFE']->applicationData['ypTemp']['js'] .= "
menu". $I['uid'] .".onactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_h.src");
menu". $I['uid'] .".ondeactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_n.src");

";
         } else { // no ypMenu needed
            $onmouseover = "over('" .$I['theName']. "');";
            $onmouseout = "out('" .$I['theName']. "'); ";
         }
            // move right
         $GLOBALS['TSFE']->applicationData['ypTemp']['x'] += $I['val']['output_w'];
         
         $I['parts']['ATag_begin'] = '<a href="' .$I['linkHREF']['HREF']. '" onfocus="' . $I['linkHREF']['onFocus']. '" onmouseover="'. $onmouseover .'" onmouseout="'. $onmouseout .'" id="act'. $I['uid'] .'">';
         $I['parts']['ATag_end'] = '</a>';
      break;
      default: // every other level (TMENU)
         $title = $I['title'];
         
            // count lines if more than $this->breakpoint chars
         if(strlen($title) > $this->breakpoint) {
            $lines = $this->text_to_lines($I['title'], t3lib_div::freetypeDpiComp($this->fontSize), $this->fontFile, ($this->sublevelWidth - 2*$this->padding));
         } else {
            $lines = 1;
         }
            
            // if another submenu is present wrap link with JS actions an collect data
         if($this->isSubMenu($I['uid'])) {
            $href = $I['linkHREF']['HREF'];
            $onmouseover = "ypSlideOutMenu.showMenu('menu" .$I['uid']. "');";
            $onmouseout = "ypSlideOutMenu.hideMenu('menu" .$I['uid']. "');";
            $link = sprintf('<a href="%s" onmouseover="%s" onmouseout="%s" class="submenu">%s</a>',$href, $onmouseover, $onmouseout, $title);
            
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['level'] = $level;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['uid'] = $I['uid'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['width'] = $this->sublevelWidth;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['height'] = $this->sublevelHeight;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['dir'] = 'right';
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['top'] = intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['top']) + (($I['key']) * $this->sublevelHeight);
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['left'] = intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['left']) + intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['width']);   
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['parentId'] = $I['pid'];      

         } else { // nothing to be done here :)
            $link = $I['parts']['ATag_begin']. $title .$I['parts']['ATag_end'];
         }

            // move down
         if($I['key'] == 0) {
            $GLOBALS['TSFE']->applicationData['ypTemp'][$I['pid']]['y'] = intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['top']);
         } else {
            $GLOBALS['TSFE']->applicationData['ypTemp'][$I['pid']]['y'] += $this->sublevelHeight + ($this->secPadding * ($lines-1)) + $clientAdjust;
         }

         
         $GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['items'][$I['uid']]['link'] = $link;
         $GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['items'][$I['uid']]['height'] = $this->sublevelHeight + ($this->secPadding * ($lines-1));
         $GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['items'][$I['uid']]['top'] = $GLOBALS['TSFE']->applicationData['ypTemp'][$I['pid']]['y'] - ($this->secPadding * ($lines-1));
         
         // save link in output array
      $I['parts']['ATag_begin'] = '
<a href="' .$I['linkHREF']['HREF']. '"
   onfocus="' . $I['linkHREF']['onFocus']. '"
   onMouseOver="ypSlideOutMenu.showMenu('menu'.$I['uid'].'');"
   onMouseOut="ypSlideOutMenu.hideMenu('menu'.$I['uid'].'');"
id="level1id'.$I['uid'].'">';
      //$GLOBALS['TSFE']->applicationData['ypMenu'][$level][$I['pid']]['parts']['items'][] = implode('', $I['parts']);
      $I['parts'] = array();
      break;
      }
   
      return $I;
   }

   /**
    * Builds all HTML/JS Code to initialize all ypMenu layers. Must be writen at the end of the document
    *
    * @return   string        html/js code
    */      
   function menuEnd() {
         // all relevant data stored in applicationData['ypMenus'];      
      if(is_array($GLOBALS["TSFE"]->applicationData['ypMenus'])) {
            // fix differnet browser bugs to get a transparency effect
         $clientinfo = t3lib_div::clientInfo();
         $pngimg = false;
         $pngbg = false;
         $filter = false;
         $appendix = '';
         $bg = false;
		 	// no longer necessarily, all browser get same code
            // 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:.9; filter:alpha(opacity=90); background-color: #E1EDFD"';
            // 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';
         }
            
            // loop through all collected data (buildIndex) and render js
         foreach($GLOBALS["TSFE"]->applicationData['ypMenus'] as $menu) {
            $uid = $menu['uid'];
            $level = $menu['level'];
            $dir = $menu['dir'];
            $parentId = ($menu['parentId']) ? '"menu'.$menu['parentId'].'"' : 'null';
            $x = $menu['left'];
            $y = ($menu['parentId']) ? $GLOBALS['TSFE']->applicationData['ypMenus'][$menu['parentId']]['items'][$uid]['top'] : $this->offsetY;
            $width = $menu['width'];

            $items = '';
            $wholeHeight = 0;
            if(is_array($menu['items'])) {
               $itemcount = count($menu['items']);
               foreach($menu['items'] as $item) {
			   	// modifited
#                 $items .= '<li>'. $item['link'] ."</li>
";
                 $items .= '<div class="mmlink">'. $item['link'] ."</div>
";
                  $wholeHeight = $wholeHeight + $item['height'];
               }
            }
			// no longer necessarily
#            if($clientinfo['SYSTEM'] == 'win' AND $clientinfo['BROWSER'] == 'msie' AND $clientinfo['VERSION'] < 5.5) {
#               $wholeHeight = $wholeHeight + 2 * $itemcount;
#            }

            $height = ($menu['height']) * count($menu['items']);
            $output[] = sprintf('<div id="menu%dContainer" class="mmContainer"><div id="menu%dContent" class="mmContent%s" %s>', $uid, $uid, $appendix, $style); // L%d / $level
			// ul to div!!!
#            $output[] = sprintf('<ul class="mmLevel%d">%s</ul>', $level, $items);
			$output[] = sprintf('<div class="mmLevel%d">%s</div>', $level, $items);
				// no longer necessarily
				// trick Mac IE to display our transparent PNG
#            if($pngimg) {
#               $output[] = '<img src="' . $this->transBg .'" width="'. $width .'" height="'. $wholeHeight .'" class="menuBackground">';
#            }
            
            $output[] = '</div></div>';
            
            $menus[] = sprintf('menu%d = new ypSlideOutMenu("menu%d", "%s", %d, %d, %d, %d, %s)', $uid, $uid, $dir, $x, $y, $width, $wholeHeight, $parentId);
         }
      }
   
     if(is_array($output) && is_array($menus)) {
         $output = implode("
", $output);
         $output .= "
<script type="text/javascript">
"
. implode("
", $menus) ."

ypSlideOutMenu.writeCSS();

". $GLOBALS['TSFE']->applicationData['ypTemp']['js'] ."
</script>
";
         return $output;
      }
    }
}
?>
```

CSS code für das menu:

```css
/*
 *CSS-Style to build slideoutmenu by Alex.Elsner <alex.elsner@cms-medien-design.de>
 */

.mmContent DIV A {
	font-size: 9px; font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular;
	font-weight: bold;
	line-height: 11px;
	padding: 5px;
	text-decoration: none;
	display: block;
	color: #011D65;
	background: #E1EDFD;
	margin: 0px 0px 0px 0px;
	border-bottom: solid 1px #011D65;
}

/* folgende anweisung wird nicht vom ie interpretiert */
.mmContent[id] DIV A {
	-moz-opacity:.9;
	filter:alpha(opacity=90);
	background: transparent;
	background-image: url(/fileadmin/template/img/menu_bg.png);
}

/* für IE >5 */
* html .mmContent DIV A {
	width: 154px;
	width: 154px; /* für IE 6 */
	-moz-opacity:.9; /* für IE 6 */
	filter:alpha(opacity=90); /* für IE 6 */
}

.mmContent DIV.mmlink A:hover {
	background: #cccccc;
	color: #011D65;
}
.mmContent DIV.mmlink A:active {
	background: #cccccc;
	color: #011D65;
}

.mmContent DIV.mmlink A.submenu {
	background: #E1EDFD url(/fileadmin/template/img/nav_arrow.gif) no-repeat right 0px;
	color: #011D65;
}
.mmContent DIV.mmlink A.submenu:hover {
	background: #cccccc url(/fileadmin/template/img/nav_arrow_over.gif) no-repeat right 0px;
	color: #011D65;
}
```

Habe es in den Browsern ie 5, 5.5, 6, firefox, mozilla und Operer getestet und es funktioniert einwandfrei.
Im ie 5 sieht das menu nun sogar deutlich besser aus. :)

Alle browser bekommen jetzt den selben style zugewiesen.

Grüsse Liberation

### [#110](https://www.typo3.net/d/15065-wwwmeadede/110) · s.​sach · 2005-04-11

Vielen Dank Leute  :p

### [#111](https://www.typo3.net/d/15065-wwwmeadede/111) · greenbanana · 2005-04-12

Hallo so jetzt bin ich so weit, dass ich auch Eure Hilfe Brauche. Ich hab mir das Menu auf meiner Seite installiert.    ...<http://www.greenbanana.ch>

Es läuft einwandfreu unter: IE, Netscape, Firefox...

Doch mit Opera habe ich meine grosse mühe. Wenn ich mit der Maus über das Menu fahre erhalte ich folgende Fehlermeldung:

> <http://greenbanana.ch/fileadmin/template/ypMenu/jslib.js>
> Unknown context
> Syntax error while loading (line 32)
>   const JS_LIB_LOADED     = true
> ----------------------^
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img49_c486_4_h'
> Backtrace:
>   In unknown script
>     document.images["img49_c486_4"].src = img49_c486_4_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu49");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_c486_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_c486_3"].src = img13_c486_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/fileadmin/template/ypMenu/jslib.js>
> Unknown context
> Syntax error while loading (line 32)
>   const JS_LIB_LOADED     = true
> ----------------------^
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img49_cdb1_4_h'
> Backtrace:
>   In unknown script
>     document.images["img49_cdb1_4"].src = img49_cdb1_4_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu49");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_cdb1_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_cdb1_3"].src = img13_cdb1_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img112_cdb1_1_h'
> Backtrace:
>   In unknown script
>     document.images["img112_cdb1_1"].src = img112_cdb1_1_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu112");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img112_cdb1_1_h'
> Backtrace:
>   In unknown script
>     document.images["img112_cdb1_1"].src = img112_cdb1_1_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu112");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img112_cdb1_1_h'
> Backtrace:
>   In unknown script
>     document.images["img112_cdb1_1"].src = img112_cdb1_1_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu112");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_cdb1_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_cdb1_3"].src = img13_cdb1_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img49_cdb1_4_h'
> Backtrace:
>   In unknown script
>     document.images["img49_cdb1_4"].src = img49_cdb1_4_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu49");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img68_cdb1_5_h'
> Backtrace:
>   In unknown script
>     document.images["img68_cdb1_5"].src = img68_cdb1_5_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu68");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img10_cdb1_8_h'
> Backtrace:
>   In unknown script
>     document.images["img10_cdb1_8"].src = img10_cdb1_8_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu10");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/fileadmin/template/ypMenu/jslib.js>
> Unknown context
> Syntax error while loading (line 32)
>   const JS_LIB_LOADED     = true
> ----------------------^
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img10_a64e_8_h'
> Backtrace:
>   In unknown script
>     document.images["img10_a64e_8"].src = img10_a64e_8_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu10");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_a64e_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_a64e_3"].src = img13_a64e_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img112_a64e_1_h'
> Backtrace:
>   In unknown script
>     document.images["img112_a64e_1"].src = img112_a64e_1_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu112");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/fileadmin/template/ypMenu/jslib.js>
> Unknown context
> Syntax error while loading (line 32)
>   const JS_LIB_LOADED     = true
> ----------------------^
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_f839_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_f839_3"].src = img13_f839_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img49_f839_4_h'
> Backtrace:
>   In unknown script
>     document.images["img49_f839_4"].src = img49_f839_4_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu49");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/fileadmin/template/ypMenu/jslib.js>
> Unknown context
> Syntax error while loading (line 32)
>   const JS_LIB_LOADED     = true
> ----------------------^
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img112_23b3_1_h'
> Backtrace:
>   In unknown script
>     document.images["img112_23b3_1"].src = img112_23b3_1_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu112");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_23b3_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_23b3_3"].src = img13_23b3_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img49_23b3_4_h'
> Backtrace:
>   In unknown script
>     document.images["img49_23b3_4"].src = img49_23b3_4_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu49");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img68_23b3_5_h'
> Backtrace:
>   In unknown script
>     document.images["img68_23b3_5"].src = img68_23b3_5_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu68");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img10_23b3_8_h'
> Backtrace:
>   In unknown script
>     document.images["img10_23b3_8"].src = img10_23b3_8_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu10");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_23b3_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_23b3_3"].src = img13_23b3_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img112_23b3_1_h'
> Backtrace:
>   In unknown script
>     document.images["img112_23b3_1"].src = img112_23b3_1_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu112");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img13_23b3_3_h'
> Backtrace:
>   In unknown script
>     document.images["img13_23b3_3"].src = img13_23b3_3_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu13");
>   At unknown location
>     {event handler trampoline}
>
> <http://greenbanana.ch/fileadmin/template/ypMenu/jslib.js>
> Unknown context
> Syntax error while loading (line 32)
>   const JS_LIB_LOADED     = true
> ----------------------^
>
> <http://greenbanana.ch/index.php?id=92>
> Event thread: onmouseover
> Error:
> name: ReferenceError
> message: Statement on line 1: Reference to undefined variable: No such variable 'img10_21b1_8_h'
> Backtrace:
>   In unknown script
>     document.images["img10_21b1_8"].src = img10_21b1_8_h.src;
>   Line 175 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     this[open ? "onactivate" : "ondeactivate"]();
>   Line 127 of linked script <http://greenbanana.ch/fileadmin/template/ypMenu/ypSlideOutMenus.js>
>     reg[id].startSlide(true);
>   In unknown script
>     ypSlideOutMenu.showMenu("menu10");
>   At unknown location
>     {event handler trampoline}

Kann mir dazu jemand helfen? Das transparente menu_bg.png ist angelegt. sollte also nicht daran liegen.

Herzlichen Dank!

### [#112](https://www.typo3.net/d/15065-wwwmeadede/112) · tobstar · 2005-04-19

> **Guido schrieb:**
>
> Hi SilverBlue,
>
> konntest Du mein ts mal checken wegen des Verschwindens der Schrift beim Rollover auf meinem GMENU?
>
> Der Fehler kann doch nur hier liegen:
>
> ```typoscript
> RO < marks.MENU_MAIN.1.NO 
> RO = 1 
> RO  { 
>    backColor = #aaaaaa 
> } 
>
> IFSUBRO < marks.MENU_MAIN.1.NO 
> IFSUBRO = 1 
> IFSUBRO  { 
>    backColor = #aaaaaa 
>   } 
> }
> ```
>
> Any ideas?
>
> Danke Dir/Euch!

Also ich habe einfach mal bei den Rollovern nur
IFSUBRO < .NO und RO < .NO
genommen, dann hats funktioniert.

### [#113](https://www.typo3.net/d/15065-wwwmeadede/113) · Thomas N · 2005-04-25

Hi,

ich steige bezüglich der Centrierung nicht durch??  #paralyzed#
Jensens war so freundlich und hat das Thema schon mal angeschnitten.. mit:

> Du mußt das ypSlideOutMenusC.js ( C = centered ) ins Script einbinden,
> dann wohl noch ein bißchen anpassen.

ich bin was typo3 angeht Anfänger und weiss einfach nicht wo ich das einsetzen muss? in mein Template?
wenn ja, wie und wo?

Danke und Gruß

### [#114](https://www.typo3.net/d/15065-wwwmeadede/114) · Liberation · 2005-04-26

nein nicht das slideout c nehmen.

menu+code in deinen container setzten.

css dann so

```css
body {
	text-align: center;
	margin: 0px 0px 0px 0px;
}

container vom menu so:
#menucontainer {
	position: relative;
	margin: 0 auto;
	text-align: left;
}
```

### [#115](https://www.typo3.net/d/15065-wwwmeadede/115) · Thomas N · 2005-04-26

welcher code muss da dazu?? der aus dem template worin die java's aufgerufen werden?

### [#116](https://www.typo3.net/d/15065-wwwmeadede/116) · Liberation · 2005-04-26

na ein html template musst du dir schon selber coden.^^

```xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>
<div id="menucontainer"###slideout######slideoutmenucode###"</div>
</body>
</html>
```

mit meinem css dazu schon hast du das menu zentriert....

### [#117](https://www.typo3.net/d/15065-wwwmeadede/117) · Thomas N · 2005-04-26

uups, ja na klar! die hab ich ja auch  ;)
aber für was ist das ###slideoutmenucode### gedacht.
einen solchen platzhalter hab ich in meinem template nicht definiert!  Ich habe für die navi lediglich einen Platzhalter, du hast zwei?  #paralyzed#

### [#118](https://www.typo3.net/d/15065-wwwmeadede/118) · Liberation · 2005-04-26

kommt drauf an was du in deinem ts setup drin stehen hast...

ist ist an sich nur wichtig das der code vom menu im selben container ist wie das menu selber.

Ganz am anfang war es mal so gedacht das der nämlich ans ende der page kommt. wie bei www.meade.de

### [#119](https://www.typo3.net/d/15065-wwwmeadede/119) · Thomas N · 2005-04-26

wie mir scheint bin ich zu bescheurt das nachzuvollziehen! ich habe in meinem ts das ganze skript für das menu unter einem platzhalter.. welchen code für das menue meinst du genau??? habe auch schon probiert ab menueebene2 seperate platzhalter zu vergeben..ohne erfolg natürlich  ;)

der code aus meinem ts für das menue lauter wie folgt:

```typoscript
marks.MENU_MAIN > 
marks.MENU_MAIN = HMENU 
marks.MENU_MAIN.1 = GMENU 
marks.MENU_MAIN.1 { 
  IProcFunc = user_menu->firstLevel 
  expAll = 1 
  wrap = | 


IFSUB = 1 
IFSUB { 
  wrap = | 

   XY = [50.w]+20, 25 
   backColor = #28416f

   50 = TEXT 
   50 { 
    text.field = title 
    fontSize = 11 
    fontFile = fileadmin/fonts/verdana.ttf 
    fontColor = #ffffff
    offset = 10,17 
    niceText = 1 

   } 

   100 = || IMAGE 
   100.file = fileadmin/MEADE/spacer2.gif 
} 

NO { 
  wrap = | 

   XY = [50.w]+20, 25 
   backColor = #28416f

   50 = TEXT 
   50 { 
    text.field = title 
    fontSize = 11 
    fontFile = fileadmin/fonts/verdana.ttf 
    fontColor = #ffffff
    offset = 10,17 
    niceText = 1 

   } 

   100 = || IMAGE 
   100.file = fileadmin/MEADE/spacer2.gif 
} 

RO < .NO 
RO = 1 
RO  { 
   backColor = #28416f
} 

IFSUBRO < .NO 
IFSUBRO = 1 
IFSUBRO  { 
   backColor = #28416f
  } 
} 


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

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

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

also, menu_main habe ich in diesen container gesteckt, das allein hat mich aber noch nicht weiter gebracht..  :(

### [#120](https://www.typo3.net/d/15065-wwwmeadede/120) · Liberation · 2005-04-26

schau doch einfach ob dein menucode im richtigen container liegt....

die slideouts sind aber zu sehen oder?

### [#121](https://www.typo3.net/d/15065-wwwmeadede/121) · Thomas N · 2005-04-26

ja, das stimmt soweit schon:

> <body>
> <!-- ###DOKUMENT### begin -->
> <table width="900" border="0" cellspacing="1" bordercolor="#999999" cellpadding="1" height="100%" align="center" bgcolor="#999999">
>   <tr>
>     <td bgcolor="#F1F2FE" valign="top">
>       <table border="0" cellpadding="0" cellspacing="0" width="900" height="100%">
>         <tr>
>           <td  colspan="2" height="25" bgcolor="#28416f">
>             <div id="menucontainer">###MENU_MAIN###</div>
>           </td>
>         </tr>
>
> etc...

Das Menü wird auch angezeigt! allerdings sehr "zerschossen".. also es wird von jeder zeile nur ein bruchteil angezeigt... das liegt aber an der css body einstellung, wenn ich die auskommentiere isses wieder normal!
am besten du schaust es dir selbst mal an. seite befindet sich im aufbau unter
<http://www.metzingen-best.de/index.php>

### [#122](https://www.typo3.net/d/15065-wwwmeadede/122) · jenses · 2005-04-28

Falls mal jemand Probleme mit dem ypMenu und XHTML strict validem Code haben sollte, gibt es hier eine Lösung :
[/d/24160-formular-xhtml10-und-w3corg/16](https://www.typo3.net/d/24160-formular-xhtml10-und-w3corg/16)

jenses

### [#123](https://www.typo3.net/d/15065-wwwmeadede/123) · mh84 · 2005-04-30

Hallo,

ich versuch schon den ganzen Tag das menu testweise zum Laufen zu bringen.

Da sich jetzt in dem Thread so viele verschiedene Codeschnipsel angesammelt haben würde ich mich freuen wenn irgendein gluecklicher hier nochmal eine funktionierende Zusammenfassung reinsetzt:

- der code für das HTML-Template
- der Typo-Script Code
- der evt. zusaetzliche PHP-Code

wenn man folgende Dateien für den Rest zum Testen benutzt:
die .css und .js dateien von der meade-webpage

alternativ natürlich auch gerne eigenen css und js code.

Hauptsache man bekommt es erstmal zum Laufen (auf Typo3 3.7, Linux). Würde vielen hier (und mir ) sicherlich weiterhelfen.

Vielen Dank!

gruß, mh84

### [#124](https://www.typo3.net/d/15065-wwwmeadede/124) · Liberation · 2005-05-02

Beispiel www.sci-worx.com

TSSetup:

```typoscript
# include ypMenu script

page.includeLibs.ypMenu = fileadmin/template/res/ypMenu.php

temp.slideoutmenu.special = directory
temp.slideoutmenu.special.value = 4
#temp.menu_1.entryLevel = 2


#temp.menu_1 > 
temp.slideoutmenu = HMENU
temp.slideoutmenu.1 = GMENU
temp.slideoutmenu.1 {
  IProcFunc = user_menu->firstLevel

  expAll = 1
  wrap = | 

IFSUB = 1
IFSUB {

  wrap = |
    #button grösse
    XY = 177, 67
    #transparentBackground = 1
    backColor = #011D65 || #004A85 || #015BA2 || #88A6C3
    50 = TEXT
    50 {
    text.field = title
    fontSize = 15
    fontFile = fileadmin/fonts/Arial.ttf
    #fontFile = fileadmin/fonts/55HelveNeuRom.PFB
    fontColor = #ffffff
    align = center
    offset = 0,36
    niceText = 1
   }

   100 = || IMAGE
   100.file = fileadmin/template/images/spacer.gif
}

#für Mausover
NO {

  wrap = |
    #button grösse
    XY = 177, 67
    #transparentBackground = 1
    backColor = #011D65 || #004A85 || #015BA2 || #88A6C3
    50 = TEXT
    50 {
    text.field = title
    fontSize = 15
    fontFile = fileadmin/fonts/Arial.ttf
    #fontFile = fileadmin/fonts/55HelveNeuRom.PFB
    fontColor = #ffffff
    align = center
    offset = 0,36
    #offset = -[50.w] + 90,36
    niceText = 1
}
    

     #Menu Balken bei mouseover am fuss vom Buttom
     99 = IMAGE
     99.file = GIFBUILDER
     99.file {
     XY = 400, 67
     90 = IMAGE
     90.file = fileadmin/template/images/line_menu.gif
     90.offset = 0, 64
     transparentBackground = 1
     }



   100 = || IMAGE
   100.file = fileadmin/template/images/spacer.gif
}

RO < temp.slideoutmenu.1.NO
RO = 1
RO  {
    XY = 177, 67
    #transparentBackground = 1
    backColor = #011D65 || #004A85 || #015BA2 || #88A6C3
    50 = TEXT
    50 {
    text.field = title
    fontSize = 15
    fontFile = fileadmin/fonts/Arial.ttf
    #fontFile = fileadmin/fonts/55HelveNeuRom.PFB
    fontColor = #ffffff
    align = center
    offset = 0,36
    niceText = 1
   }

     #Menu Balken bei mouseover am fuss vom Button
     99 = IMAGE
     99.file = GIFBUILDER
     99.file {
     XY = 400, 67
     90 = IMAGE
     90.file = fileadmin/template/images/line_menu.gif
     90.offset = 0, 64
     transparentBackground = 1
     }

}

IFSUBRO < temp.slideoutmenu.1.NO
IFSUBRO = 1
IFSUBRO  {

    XY = 177, 67
    #transparentBackground = 1
    backColor = #011D65 || #004A85 || #015BA2 || #88A6C3
    50 = TEXT
    50 {
    text.field = title
    fontSize = 15
    fontFile = fileadmin/fonts/Arial.ttf
    #fontFile = fileadmin/fonts/55HelveNeuRom.PFB
    fontColor = #ffffff
    align = center
    offset = 0,36
    niceText = 1
   }


  }
}


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

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

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



# append Menu JS to page
#page.11 = USER
#page.11.userFunc = user_menu->menuEnd


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

PHP:

```php
<?php
/***************************************************************
*  Copyright notice
* 
*  (c) 2003 Andreas Tschirpke (tschirpke@at-mediendesign.de)
*  All rights reserved
*
*  This script is part of the Typo3 project. The Typo3 project is
*  free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  The GNU General Public License can be found at
*  http://www.gnu.org/copyleft/gpl.html.
*
*  This script is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
/**
* User class to build Javascript Menu (www.xyz.de)
*
* @author Andreas Tschirpke <tschirpke@at-mediendesign.de>
*
* Modified by Alex.Elsner <alex.elsner@cms-medien-design.de>
*/

#$GLOBALS['TSFE']->set_no_cache();  // wird nicht mehr gebraucht :)

class user_menu {
   var $offsetY = 68; // inital offset values for the first level elements
   var $offsetX = 230;
   var $sublevelWidth = 177; // width and height values for sublevel items
   var $sublevelHeight = 22;
   
   var $padding = 5;
   var $fontSize = 10;
   var $breakpoint = 28; // recalculate width of text after x characters
   var $secPadding = 12; // 16 padding inc. border
   
   var $fontFile = 'fileadmin/fonts/verdana.ttf'; // font file needed to calculate linebreaks
   var $transBg = 'fileadmin/template/images/menu_bg.png'; // transparent PNG file - needed to fix a transparency bug in Mac IE 5  (wird nicht mehr gebraucht)
   
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
    function firstLevel($I,$conf) {
        return $this->buildIndex($I, $conf, 1);
    }
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
   function secondLevel($I,$conf) {
      return $this->buildIndex($I, $conf, 2);
   }
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
   function thirdLevel($I,$conf) {
        return $this->buildIndex($I, $conf, 3);
    }
   /**
    *   Dummy function to pass values to buildIndex
    *
    *  @param   array   Menu array including all needed menu items (created by TMENU)
    *   @param   array   Configuration array
    *   @return   array   returns modified $I array
    *   @access   private
    */
   function fourthLevel($I, $conf) {
           return $this->buildIndex($I, $conf, 4);
    }

      
   /**
    * Returns true if there is a submenu with items for the page id, $uid
    * Used by the item states "IFSUB" and "ACTIFSUB" to check if there is a submenu
    *
    * @param   integer      Page uid for which to search for a submenu
    * @return   boolean      Returns true if there was a submenu with items found
    * @access private
    */
      // copy from tslib_menu   
   function isSubMenu($uid)   {
         // Looking for a mount-pid for this UID since if that exists we should look for a subpages THERE and not in the input $uid;
      $mount_info = $GLOBALS['TSFE']->sys_page->getMountPointInfo($uid);
      if (is_array($mount_info))   {
         $uid = $mount_info['mount_pid'];
      }

      $recs = $GLOBALS['TSFE']->sys_page->getMenu($uid,'uid,pid,doktype,mount_pid,mount_pid_ol');
      foreach($recs as $theRec)   {
         if (!t3lib_div::inList('5,6',$theRec['doktype']) && !$theRec['nav_hide'])   {   // If a menu item seems to be another type than 'Not in menu', then return true (there were items!)
            return TRUE;
         }
      }
   }

   /**
    * Breaks textarea text into lines of specified width in order to feed Gifbuilder (see function makeTextImage)
    *
    * @param    string        $text: input text
    * @param    integer        $size: specified font size
    * @param    string        $font: absolute path to specified font file
    * @param    integer        $width: specified width of the image box
    * @return    array        array of lines of text
    */
       // copy from sr_sendcard
      // thanks and credits go to Peter Bowyer <peter@sendcard.org>
   function text_to_lines($text, $size, $font, $width) {
      $words = t3lib_div::trimExplode(' ', str_replace("
", ' <br> ', str_replace("

", ' <br> ', str_replace("|", ' <br> ', $text))), 0);

      $p = 0;
      $lines = array();
      $lines[0] = '';

      for($i = 0; $i < count($words); $i++) {
         ($lines[$p] ) ? $test = $lines[$p].' '.$words[$i] : $test = $words[$i];

         $bbox = imagettfbbox($size, 0, $font, $test);

         if ($words[$i] == '<br>') {
            $p++;
            $lines[$p] = '';
         } elseif (($bbox[4] - $bbox[6]) > $width ) {
            $p++;
            $lines[$p] = $words[$i];
         } else {
            $lines[$p] = $test;
         }
      }
      return count($lines);
   }

   /**
    * Collects all needed information (width, height, x, y, level etc.) and structural information for the ypMenu.
    * Information are stored in $GLOBALS['TSFE']->applicationData['ypMenus']
    *
    * @param    array        $I: Array created by TMENU including all menu elements for the current level
    * @param    integer      $conf: Configuration array
    * @param    integer      $level: hierarchical depth
    * @return   array        $I: modified $I array
    */   
   function buildIndex($I, $conf, $level) {
         // fix IE 5.0 on windows
		 // no longer necessarily
      $clientAdjust = 0;
#      $clientinfo = t3lib_div::clientInfo();
#      if($clientinfo['SYSTEM'] == 'win' AND $clientinfo['BROWSER'] == 'msie' AND $clientinfo['VERSION'] < 5.5) {
#         $clientAdjust = 2;
#      }
      
         
      switch($level) {
      case "1":
            // only wrap in ypSlide Action if submenu is present
         if($this->isSubMenu($I['uid'])) {
               // JS actions
            $onmouseover = "ypSlideOutMenu.showMenu('menu" .$I['uid']. "'); over('" .$I['theName']. "');";
            $onmouseout = "ypSlideOutMenu.hideMenu('menu" .$I['uid']. "'); out('" .$I['theName']. "');";
            
               // collect data for correct positions
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['level'] = $level;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['uid'] = $I['uid'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['imgwidth'] = $I['val']['output_w'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['imgheight'] = $I['val']['output_h'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['width'] = $this->sublevelWidth;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['height'] = $this->sublevelHeight;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['dir'] = 'down';
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['top'] = $this->offsetY;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['left'] = $GLOBALS['TSFE']->applicationData['ypTemp']['x'] + $this->offsetX;         
            
               // build ypMenu JS
            $GLOBALS['TSFE']->applicationData['ypTemp']['js'] .= "
menu". $I['uid'] .".onactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_h.src");
menu". $I['uid'] .".ondeactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_n.src");

";
         } else { // no ypMenu needed
            $onmouseover = "over('" .$I['theName']. "');";
            $onmouseout = "out('" .$I['theName']. "'); ";
         }
            // move right
         $GLOBALS['TSFE']->applicationData['ypTemp']['x'] += $I['val']['output_w'];
         
         $I['parts']['ATag_begin'] = '<a href="' .$I['linkHREF']['HREF']. '" onfocus="' . $I['linkHREF']['onFocus']. '" onmouseover="'. $onmouseover .'" onmouseout="'. $onmouseout .'" id="act'. $I['uid'] .'">';
         $I['parts']['ATag_end'] = '</a>';
		 // Mod for XHTML strict
#		 $I['parts']['image'] = str_replace("name", "id", $I['parts']['image']);
#		 $I['parts']['image'] = str_replace("border="0"", "", $I['parts']['image']); 
      break;
      default: // every other level (TMENU)
         $title = $I['title'];
         
            // count lines if more than $this->breakpoint chars
         if(strlen($title) > $this->breakpoint) {
            $lines = $this->text_to_lines($I['title'], t3lib_div::freetypeDpiComp($this->fontSize), $this->fontFile, ($this->sublevelWidth - 2*$this->padding));
         } else {
            $lines = 1;
         }
            
            // if another submenu is present wrap link with JS actions an collect data
         if($this->isSubMenu($I['uid'])) {
            $href = $I['linkHREF']['HREF'];
            $onmouseover = "ypSlideOutMenu.showMenu('menu" .$I['uid']. "');";
            $onmouseout = "ypSlideOutMenu.hideMenu('menu" .$I['uid']. "');";
            $link = sprintf('<a href="%s" onmouseover="%s" onmouseout="%s" class="submenu">%s</a>',$href, $onmouseover, $onmouseout, $title);
            
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['level'] = $level;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['uid'] = $I['uid'];
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['width'] = $this->sublevelWidth;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['height'] = $this->sublevelHeight;
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['dir'] = 'right';
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['top'] = intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['top']) + (($I['key']) * $this->sublevelHeight);
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['left'] = intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['left']) + intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['width']);   
            $GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['parentId'] = $I['pid'];      

         } else { // nothing to be done here :)
            $link = $I['parts']['ATag_begin']. $title .$I['parts']['ATag_end'];
         }

            // move down
         if($I['key'] == 0) {
            $GLOBALS['TSFE']->applicationData['ypTemp'][$I['pid']]['y'] = intval($GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['top']);
         } else {
            $GLOBALS['TSFE']->applicationData['ypTemp'][$I['pid']]['y'] += $this->sublevelHeight + ($this->secPadding * ($lines-1)) + $clientAdjust;
         }

         
         $GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['items'][$I['uid']]['link'] = $link;
         $GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['items'][$I['uid']]['height'] = $this->sublevelHeight + ($this->secPadding * ($lines-1));
         $GLOBALS['TSFE']->applicationData['ypMenus'][$I['pid']]['items'][$I['uid']]['top'] = $GLOBALS['TSFE']->applicationData['ypTemp'][$I['pid']]['y'] - ($this->secPadding * ($lines-1));
         
         // save link in output array
      $I['parts']['ATag_begin'] = '
<a href="' .$I['linkHREF']['HREF']. '"
   onfocus="' . $I['linkHREF']['onFocus']. '"
   onMouseOver="ypSlideOutMenu.showMenu('menu'.$I['uid'].'');"
   onMouseOut="ypSlideOutMenu.hideMenu('menu'.$I['uid'].'');"
id="level1id'.$I['uid'].'">';
      //$GLOBALS['TSFE']->applicationData['ypMenu'][$level][$I['pid']]['parts']['items'][] = implode('', $I['parts']);
      $I['parts'] = array();
      break;
      }
   
      return $I;
   }

   /**
    * Builds all HTML/JS Code to initialize all ypMenu layers. Must be writen at the end of the document
    *
    * @return   string        html/js code
    */      
   function menuEnd() {
         // all relevant data stored in applicationData['ypMenus'];      
      if(is_array($GLOBALS["TSFE"]->applicationData['ypMenus'])) {
            // fix differnet browser bugs to get a transparency effect
         $clientinfo = t3lib_div::clientInfo();
         $pngimg = false;
         $pngbg = false;
         $filter = false;
         $appendix = '';
         $bg = false;
		 	// no longer necessarily, all browser get same code
            // 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:.9; filter:alpha(opacity=90); background-color: #E1EDFD"';
            // 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';
         }
            
            // loop through all collected data (buildIndex) and render js
         foreach($GLOBALS["TSFE"]->applicationData['ypMenus'] as $menu) {
            $uid = $menu['uid'];
            $level = $menu['level'];
            $dir = $menu['dir'];
            $parentId = ($menu['parentId']) ? '"menu'.$menu['parentId'].'"' : 'null';
            $x = $menu['left'];
            $y = ($menu['parentId']) ? $GLOBALS['TSFE']->applicationData['ypMenus'][$menu['parentId']]['items'][$uid]['top'] : $this->offsetY;
            $width = $menu['width'];

            $items = '';
            $wholeHeight = 0;
            if(is_array($menu['items'])) {
               $itemcount = count($menu['items']);
               foreach($menu['items'] as $item) {
			   	// modifited
#                 $items .= '<li>'. $item['link'] ."</li>
";
                 $items .= '<div class="mmlink">'. $item['link'] ."</div>
";
                  $wholeHeight = $wholeHeight + $item['height'];
               }
            }
			// no longer necessarily
#            if($clientinfo['SYSTEM'] == 'win' AND $clientinfo['BROWSER'] == 'msie' AND $clientinfo['VERSION'] < 5.5) {
#               $wholeHeight = $wholeHeight + 2 * $itemcount;
#            }

            $height = ($menu['height']) * count($menu['items']);
            $output[] = sprintf('<div id="menu%dContainer" class="mmContainer"><div id="menu%dContent" class="mmContent%s" %s>', $uid, $uid, $appendix, $style); // L%d / $level
			// ul to div!!!
#            $output[] = sprintf('<ul class="mmLevel%d">%s</ul>', $level, $items);
			$output[] = sprintf('<div class="mmLevel%d">%s</div>', $level, $items);
				// no longer necessarily
				// trick Mac IE to display our transparent PNG
#            if($pngimg) {
#               $output[] = '<img src="' . $this->transBg .'" width="'. $width .'" height="'. $wholeHeight .'" class="menuBackground">';
#            }
            
            $output[] = '</div></div>';
            
            $menus[] = sprintf('menu%d = new ypSlideOutMenu("menu%d", "%s", %d, %d, %d, %d, %s)', $uid, $uid, $dir, $x, $y, $width, $wholeHeight, $parentId);
         }
      }
   
     if(is_array($output) && is_array($menus)) {
         $output = implode("
", $output);
         $output .= "
<script type="text/javascript">
"
. implode("
", $menus) ."

ypSlideOutMenu.writeCSS();

". $GLOBALS['TSFE']->applicationData['ypTemp']['js'] ."
</script>
";
         return $output;
      }
    }
}
?>
```

CSS:

```css
/*
 *CSS-Style to build slideoutmenu by Alex.Elsner <alexander.elsner@sci-worx.com>
 */

.mmContent DIV A {
	font-size: 9px; font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular;
	font-weight: bold;
	line-height: 11px;
	padding: 5px;
	text-decoration: none;
	display: block;
	color: #011D65;
	background: #DEF2FE;
	margin: 0px 0px 0px 0px;
	border-bottom: solid 1px #011D65;
}

.mmContent DIV A:active {
	background: #DEF2FE;
	color: #011D65;
}

.mmContent DIV A:visited { 
	background: #DEF2FE;
	color: #011D65;
}

/* für IE >5 */
* html .mmContent DIV A {
	width: 177px;
	width: 177px; /* für IE 6 */
	-moz-opacity:.9; /* für IE 5.5+ */
	filter:alpha(opacity=90); /* für IE 5.5+ */
}

.mmContent DIV.mmlink A.submenu {
	background: #DEF2FE url(/fileadmin/template/images/menu_sub.gif) top left no-repeat;
	color: #011D65;
}

.mmContent DIV.mmlink A.submenu:hover {
	background: #ffffff url(/fileadmin/template/images/menu_sub.gif) bottom left no-repeat;
	color: #011D65;
}

.mmContent[id] DIV.mmlink A.submenu {
	background: url(/fileadmin/template/images/menu_sub.png) top left no-repeat;
	color: #011D65;
}

.mmContent[id] DIV.mmlink A.submenu:hover {
	background: url(/fileadmin/template/images/menu_sub.png) bottom left no-repeat;
	color: #011D65;
}

.mmContent DIV.mmlink A:hover {
	background: #ffffff;
	color: #011D65;
}

/* folgende anweisung wird nicht vom ie interpretiert */
.mmContent[id] DIV.mmlink A {
	background: url(/fileadmin/template/images/menu.png) top left no-repeat;
}

.mmContent[id] DIV.mmlink A:hover {
	background: url(/fileadmin/template/images/menu.png) bottom left no-repeat;
}
```

Bilder für das menu:
GIF für IE
<http://www.sci-worx.com/fileadmin/template/images/menu_sub.gif>

PNG für die anderen Browser:
<http://www.sci-worx.com/fileadmin/template/images/menu_sub.png>
&
<http://www.sci-worx.com/fileadmin/template/images/menu.png>

Java:
<http://www.sci-worx.com/fileadmin/template/res/jslib.js>
<http://www.sci-worx.com/fileadmin/template/res/ypSlideOutMenus.js>

Guss liberation

### [#125](https://www.typo3.net/d/15065-wwwmeadede/125) · Spacecube · 2005-05-03

hi ihrs,

ist n toller thread hier. Leider tut bei mir was anderes nicht...

hab diesen Thread nun von anfang bis ende durchgelesen, das ypMenu.php durchforstet und ich krieg iimer folgende Fehlermeldung:

Parse error: parse error, unexpected T_STRING in /home/mxnet/public_html/test/fileadmin/scripts/ypMenu.php on line 380

Line 380 ist folgende:

```php
            $GLOBALS['TSFE']->applicationData['ypTemp']['js'] .= "menu". $I['uid'] .".onactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_h.src"); menu". $I['uid'] .".ondeactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_n.src"); ";
```

irgendwie hab seh ich da den fehler nicht.
das ypMenu.php ist mit denen die hier gepostet wurden identisch...

kann mir da jemand weiterhelfen??

gruss
spacecube

### [#126](https://www.typo3.net/d/15065-wwwmeadede/126) · lulatsch · 2005-05-14

Hi,

> **Spacecube schrieb:**
>
> Parse error: parse error, unexpected T_STRING in /home/mxnet/public_html/test/fileadmin/scripts/ypMenu.php on line 380

Hatte das Problem beim Nachbau des Menüs auch. Im Übrigen nicht nur in dieser Zeile, sondern noch bei einigen weiteren, sind Hochkommas bzw. "Gänsefüßchen" nicht richtig escaped - oder im Forum nicht richtig dargestellt - oder neuere Php-Versionen sind nicht mehr so tolerant, aber das sind nur Vermutungen.

Hier mal die Änderungen zur Version von liberation,   die bei mir nötig waren, damit kein Php-Fehler mehr kommt:

```php
196,197c196,198
< menu". $I['uid'] .".onactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_h.src");
< menu". $I['uid'] .".ondeactivate = new Function("document.images['" .$I['theName']. "'].src = " .$I['theName']. "_n.src");
---
> menu". $I['uid'] .".onactivate = new Function(\"document.images['" .$I['theName']. "'].src = " .$I['theName']. "_h.src\");
> menu". $I['uid'] .".ondeactivate = new Function(\"document.images['" .$I['theName']. "'].src = " .$I['theName']. "_n.src\");
> 
258,259c259,260
<    onMouseOver="ypSlideOutMenu.showMenu('menu'.$I['uid'].'');"
<    onMouseOut="ypSlideOutMenu.hideMenu('menu'.$I['uid'].'');"
---
>    onMouseOver="ypSlideOutMenu.showMenu(\'menu'.$I['uid'].'\');"
>    onMouseOut="ypSlideOutMenu.hideMenu(\'menu'.$I['uid'].'\');"
320,322c321
< #                 $items .= '<li>'. $item['link'] ."</li>
< ";
<                  $items .= '<div class="mmlink">'. $item['link'] ."</div>
---
>                  $items .= "<li>". $item['link'] ."</li>
323a323,324
> #                 $items .= "<div class=\"mmlink\">". $item['link'] ."</div>
> #";
330a332
> 
344c346
<             $menus[] = sprintf('menu%d = new ypSlideOutMenu("menu%d", "%s", %d, %d, %d, %d, %s)', $uid, $uid, $dir, $x, $y, $width, $wholeHeight, $parentId);
---
>             $menus[] = sprintf('menu%d = new ypSlideOutMenu("menu%d", "%s", %d, %d, %d, %d, %s);', $uid, $uid, $dir, $x, $y, $width, $wholeHeight, $parentId);
352c354
< <script type="text/javascript">
---
> <script type=\"text/javascript\">
```

Bei Bedarf kann ich auch die komplette Datei nachliefern.
EDIT: auch meine diff-Zeilen wurden beim Speichern des Beitrags verändert - ab und zu stand mal
beim " zusätzlich ein & quot ; drin - vielleicht ähnliche Veränderungen beim Php-Code von liberation?

Nun noch was Anderes: leider sieht man sämtliche Menüeinträge über die ganze Seite verteilt, sobald js abgeschaltet wird - es gibt aber sicher  Umgebungen, wo js standardmäßig aus ist.

Läßt sich das nicht irgendwie abfragen, so dass das Menü nur ausgegeben wird, wenn js am Client verfügbar ist?

Das Phänomen läßt sich bei abgeschaltetem js auch bei sci-works, audioarts und meade beobachten, allerdings kann man bei letzterem ohne js nichtmal mehr nach unten blättern, so dass man die Menüeinträge nur sieht, wenn man sehr weit herauszoomt (getestet
mit ff/opera).

lulatsch

### [#127](https://www.typo3.net/d/15065-wwwmeadede/127) · svenni · 2005-05-30

Hallo!

Muss echt sagen ein super Thread hier...

Habe auch versucht das Menü nachzubasteln aber irgendwie hagelt es nur noch Fehlermeldungen und ich seh den Wald vor lauter Bäumen nicht mehr.  #angry#

@Liberation:
Kannst Du evt. ein Archiv mit allen benötigten Dateien schnüren und es online stellen?

Eine kleines HTML-Template wäre auch nett.

Vielen Dank!

Gruss, Sven

### [#128](https://www.typo3.net/d/15065-wwwmeadede/128) · Liberation · 2005-05-30

Hi,
habe eben noch mal den code von mir oben im Post gecheckt.

Irgendwie verschluckt das forum ab und an zeichen?? "\" z.B.

Ich werde die Dateien mal einzippen und dann online stellen.

Dringende schen am besten per icq.

Gruss

### [#129](https://www.typo3.net/d/15065-wwwmeadede/129) · svenni · 2005-05-30

> **Liberation schrieb:**
>
> Hi,
> habe eben noch mal den code von mir oben im Post gecheckt.
>
> Irgendwie verschluckt das forum ab und an zeichen?? "\" z.B.
>
> Ich werde die Dateien mal einzippen und dann online stellen.
>
> Dringende schen am besten per icq.
>
> Gruss

Hi, erstmal danke für die schnelle Reaktion!

So dringend ist es nicht, ich kann warten bist Du dafür Zeit hast.

Vielleicht ist ja ein Tutorial hier auf der Website unter "FAQs & Tutorials" wert, da ja doch großes Interesse an dem Menü besteht.

Gruss, Sven

### [#130](https://www.typo3.net/d/15065-wwwmeadede/130) · franka · 2005-06-03

Hallo clicks,

ich habe mir die Seite meade.de grade angesehen und bin begeistert.

> **clicks schrieb:**
>
> Zur Händlersuche: Ja die Sache läuft über Längen- und Breitengrade. Eine entsprechende Extension werde ich bei Gelegenheit auch fertigstellen. Momentan ist die Ext noch zu "spezifisch". Falls es wichtig ist -> PN.

ich bin zur Zeit ebenfalls auf der Suche nach einer Möglichkeit nach einer PLZ Umkreissuche. Ich hab vom opengeodb-Projekt gehört, daß sowas ermöglichen soll, habe mich da aber noch nicht weiter einarbeiten können. Das ganze soll wohl auch noch nicht als T3-Extension anständig laufen. Deswegen möchte ich auf diesem Wege bei Dir nachfragen, ob Du Deine Extension für die PLZ-Suche inzwischen freigegeben hast oder ob das noch in Planung ist.

Viel Anklang würde die Freigabe der Extension bestimmt bringen.

viele Grüße aus Flensburg

Frank

### [#131](https://www.typo3.net/d/15065-wwwmeadede/131) · BastianBalthasarBux · 2005-06-05

imo kann man mit dem neuen forum das code reinstellen längerer php dateien etc. total vergessen. ersten werden zeichen einfach verschluckt. und zweitens geht die richtige formatierung vollends verloren.

wer übrigens sehr gut auf seiner webseite codereinstellt, dh. funktionaler als ein screenshot vom visual studio oä.: jweiland.net
:D

und wieso ich eigentlich poste: hat jemand die ypmenu.php zum download oder so? am liebsten wäre mir die von sci-worx. da scheint der positioning  bug beseitigt worden zu sein.

### [#132](https://www.typo3.net/d/15065-wwwmeadede/132) · Liberation · 2005-06-07

Hallo,
habe es mal gezippt und hoch geschoben:

<http://www.sci-worx.com/slideoutmenu.zip>

bitte... bei fragen einfach melden 8-)

### [#133](https://www.typo3.net/d/15065-wwwmeadede/133) · Delphi · 2005-06-08

Hallo,

danke für die zip-Datei. Ich verfolge dieses Thema schon lange, habe es aber noch nicht richtig umsetzen können.
Was ich jetzt noch suche ist ein einfaches HTML-Template, wo die WRAPS positioniert sind (Ich weiss, viel lesen und ausprobieren, aber mir fehlt im Moment die Zeit).
Danke für eure Hilfe.

### [#134](https://www.typo3.net/d/15065-wwwmeadede/134) · woida · 2005-06-08

Hat jemand schon mal das Menü umgeschrieben, so daß es vertikal funktioniert?

### [#135](https://www.typo3.net/d/15065-wwwmeadede/135) · woida · 2005-06-14

Ich hab das PHP-Skript mal ergänzt, so daß es auch vertikal funktioniert. Bei interesse kann ichs ja mal posten.

### [#136](https://www.typo3.net/d/15065-wwwmeadede/136) · alexd0001 · 2005-06-15

ja, hi --

ich hätte interesse an dem vertikalen Menu--

bitte poste das doch mal..

gruß alex

### [#137](https://www.typo3.net/d/15065-wwwmeadede/137) · KaeptnOvi · 2005-06-16

Hallo zusammen

Erst mal, klasse Arbeit, das Menu sieht echt genial aus. Ich hab's soweit auch hingekriegt, bin jetzt noch am suchen wie man das Ding auch unter Opera zum laufen kriegt. So wie's aussieht, liegt das Problem in diesem Abschnitt

```javascript
<script type="text/javascript">
	/*<![CDATA[*/
<!--
if (version == "n3") {
img11_7c2c_0_n=new Image(); img11_7c2c_0_n.src = "typo3temp/m_6b20ada56b.png"; 
img11_7c2c_0_h=new Image(); img11_7c2c_0_h.src = "typo3temp/m_6de9977470.png"; 
img2_7c2c_1_n=new Image(); img2_7c2c_1_n.src = "typo3temp/m_74afefd045.png"; 
img2_7c2c_1_h=new Image(); img2_7c2c_1_h.src = "typo3temp/m_e076d622aa.png"; 
img7_7c2c_2_n=new Image(); img7_7c2c_2_n.src = "typo3temp/m_da29a64fb9.png"; 
img7_7c2c_2_h=new Image(); img7_7c2c_2_h.src = "typo3temp/m_9817ec0f3e.png"; 
img10_7c2c_3_n=new Image(); img10_7c2c_3_n.src = "typo3temp/m_f62c5ae4e5.png"; 
img10_7c2c_3_h=new Image(); img10_7c2c_3_h.src = "typo3temp/m_fb30ff5f3f.png"; 
img15_7c2c_4_n=new Image(); img15_7c2c_4_n.src = "typo3temp/m_ad1c752468.png"; 
img15_7c2c_4_h=new Image(); img15_7c2c_4_h.src = "typo3temp/m_bda0da2ec6.png";
}
// -->
	/*]]>*/
</script>
```

namentlich am if-statement (wenn ich manuell das if-statement lösche, funktionniert es auch unter opera). Irgendwie bin ich allerdings zu blöd um herauszufinden, wo dieser Teil generiert wird. Hat da jemand einen Ahnung?

### [#138](https://www.typo3.net/d/15065-wwwmeadede/138) · lulatsch · 2005-06-17

> **KaeptnOvi schrieb:**
>
> noch am suchen wie man das Ding auch unter Opera zum laufen kriegt. So wie's aussieht, liegt das Problem in diesem Abschnitt
>
> ```javascript
> <script type="text/javascript">
> 	/*<![CDATA[*/
> <!--
> if (version == "n3") {
> ...
> ```
>
> namentlich am if-statement (wenn ich manuell das if-statement lösche, funktionniert es auch unter opera). Irgendwie bin ich allerdings zu blöd um herauszufinden, wo dieser Teil generiert wird. Hat da jemand einen Ahnung?

1. Such' mal nach "removeDefaultJS" (z. B. links oben)

2. setze page.config.removeDefaultJS = external

3. Schau z. B. in den Quelltext der Seite, wo du
  das gesetzt hast, und such die Stelle, wo
  "typo3temp/javascript_(viele Buchstaben und Zahlen).js" aufgerufen wird; die Datei schaust du dir an und findest ff. Quelltext:

```javascript
browserName = navigator.appName;
		browserVer = parseInt(navigator.appVersion);
		var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
		if ((browserName == "Netscape" && browserVer >= 3) || msie4 || browserName=="Konqueror") {version = "n3";} else {version = "n2";}
			// Blurring links:
		function blurLink(theObject)	{	//
			if (msie4)	{theObject.blur();}
		}
```

Dann setzt du page.config.removeDefaultJS = true,
baust den Quellcode in eine eigene js-Datei
und passt ihn entsprechend an.

lulatsch

### [#139](https://www.typo3.net/d/15065-wwwmeadede/139) · lulatsch · 2005-06-17

Hallo nochmal,

zu ff. Problem

> **lulatsch schrieb:**
>
> Nun noch was Anderes: leider sieht man sämtliche Menüeinträge über die ganze Seite verteilt, sobald js abgeschaltet wird - es gibt aber sicher  Umgebungen, wo js standardmäßig aus ist.
>
> Läßt sich das nicht irgendwie abfragen, so dass das Menü nur ausgegeben wird, wenn js am Client verfügbar ist?

mal ein Workaround:

- ccscreenres installiert und eingebunden

- slideoutmenü ab Ebene 2 ausgeblendet für den Fall,
  dass kein JS erkannt wurde:

```typoscript
[userFunc= tx_ccscreenres_match(>0)]
 temp.slideoutmenu.2 = TMENU
 temp.slideoutmenu.2 {
 IProcFunc = user_menu->secondLevel
 expAll = 1
 NO.linkWrap = <li>|</li>
 }
 
 temp.slideoutmenu.3 = TMENU
 temp.slideoutmenu.3 {
 IProcFunc = user_menu->thirdLevel
 expAll = 2
 NO.linkWrap = <li>|</li>
 }
 
 temp.slideoutmenu.4 = TMENU
 temp.slideoutmenu.4 {
 IProcFunc = user_menu->fourthLevel
 expAll = 1
 NO.linkWrap = <li>|</li>
 }
 
 temp.slideoutmenucode = USER
 temp.slideoutmenucode.userFunc = user_menu->menuEnd
[global]

...

[userFunc= tx_ccscreenres_match(0)]
 page.100 < plugin.tx_ccscreenres_pi1
[userFunc= tx_ccscreenres_match(>0)]
 page.100 >
[global]
```

Das funktioniert wie folgt:

- Browser ohne JS: nur Ebene 1 vom Menü wird angezeigt,
  da ccscreenres ohne JS keine Bildschirmauflösung erkennt

- Browser mit JS: beim 1. Seitenaufruf wird zwar auch
  nur Ebene 1 angezeigt, aber screenres setzt einen
  cookie, so dass bei jedem weiteren Seitenaufruf
  das slideoutmenü verfügbar ist

lulatsch

### [#140](https://www.typo3.net/d/15065-wwwmeadede/140) · KaeptnOvi · 2005-06-17

vielen dank lulatsch

ich hab jetzt den js-code folgendermassen angepasst:

```javascript
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);
var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
	if ((browserName == "Netscape" && browserVer >= 3) || msie4 || browserName=="Konqueror" || (browserName=="Opera" && browserVer >= 6)) {version = "n3";} else {version = "n2";}
// Blurring links:
function blurLink(theObject)	{	//
	if (msie4)	{theObject.blur();}
}
```

jetzt klappt das ganze auch mit opera  :)

### [#141](https://www.typo3.net/d/15065-wwwmeadede/141) · StefanBeike · 2005-06-26

Bin kurz am verzweifeln  #angry# Bei mir wird nur die erste Ebene angezeigt. Nix mit SlideMenu.
Es ird nichtmal der Code in die HTML-Ausgabe geschrieben. Was mache ich falsch???

Hier mein TS:

*page = PAGE
page.typeNum = 0

#das Menüskript einbinden:

page.headerData.10 = TEXT
page.headerData.10.value = <script type="text/javascript" src="fileadmin/skript/js/ypSlideOutMenus.js" language="JavaScript"></script><script type="text/javascript" src="fileadmin/skript/js/jslib.js" language="JavaScript"></script>
page.headerData.20 = TEXT
page.headerData.20.value = <link rel="stylesheet" type="text/css" href="fileadmin/skript/sci_nav.css">

# include ypMenu script
page.includeLibs.ypMenu = fileadmin/skript/ypMenu.php

page.10 = TEMPLATE
page.10 {
   template = FILE
   template.file = fileadmin/index.html

   marks.MAIN =CONTENT
   marks.MAIN {
      table=tt_content
      select.orderBy=sorting
      select.where=colPos=0
   }

   marks.HEADER_PIC = PHP_SCRIPT_EXT
   marks.HEADER_PIC.file=fileadmin/skript/php_inc/headerpic.php

   marks.SHORT_NEWS = PHP_SCRIPT_EXT
   marks.SHORT_NEWS.file=fileadmin/skript/php_inc/short_news.php

  ###############################################

marks.NAVIGATION >
marks.NAVIGATION = HMENU
marks.NAVIGATION.special=directory
marks.NAVIGATION.special.value=152
marks.NAVIGATION.1 = GMENU
marks.NAVIGATION.1 {
  IProcFunc = user_menu->firstLevel
  #expAll = 1
  wrap = |

IFSUB = 1
IFSUB {
  wrap = |

   XY = 70, 18
   backColor = #39628F

   50 = TEXT
   50 {
    text.field = title
    fontSize = 10
    fontFile = fileadmin/fonts/arial.ttf
    fontColor = #FFFFFF
    offset = 0,13
    niceText = 1
    align=center
   }

   100 = || IMAGE
   100.file = fileadmin/spacer.gif
}

NO {
  wrap = |

   XY = 70, 18
   backColor = #39628F

   50 = TEXT
   50 {
    text.field = title
    fontSize = 10
    fontFile = fileadmin/fonts/arial.ttf
    fontColor = #FFFFFF
    offset = 0,13
    niceText = 1
    align=center
   }

   100 = || IMAGE
   100.file = fileadmin/spacer.gif
}

RO < marks.NAVIGATION.1.NO
RO = 1
RO  {
   backColor = #ffca51
}

IFSUBRO < marks.NAVIGATION.1.NO
IFSUBRO = 1
IFSUBRO  {
   backColor = #ffca51
  }
}

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

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

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

marks.menucode=USER
marks.menucode.userFunc = user_menu->menuEnd
##############################################

}*

und hier mein Temlate:

*<tr>
  <td colspan="2" valign="top" bgcolor="#F5A508"><div class="menu">###NAVIGATION######menucode###</div>

</td>
</tr>*

Der Marker ###NAVIGATION### funktioniert und wird mit dem Menü gefüllt, Der Marker ###menucode### wird zwar ersetzt, aber leider durch nichts!

Bin für jede Hilfe dankbar.

### [#142](https://www.typo3.net/d/15065-wwwmeadede/142) · RT-Schwabe · 2005-07-03

Hallo zusammen

ich schäme mich nicht zu sagen, dass ich zu blöd bin das Menü hinzubekommen.

Gibt es irgendwo eine Step-by-Step Anleitung, wie das genau geht?

Welche Seiten muss ich anlegen
Welche Templates benötige ich
usw...

Ich habe mich jetzt schon mehrere Tage durch dieses Forum gelesen, aber im besten Fall bekomme ich gar nix auf die Seite.

Wäre toll, wenn hier jemand so was zur Verfügung stellen könnte.

GRuß
Thorsten

### [#143](https://www.typo3.net/d/15065-wwwmeadede/143) · Lugginga · 2005-07-10

Hi,

mir geht es genau gleich. Wäre auch dankbar wenn sich jemand bereiterklären würde mir das Ding einzupassen (natürlich auch mit Gegenleistung). Habs jetzt schon so oft probiert, immer wieder gelesen und irgendwie klappt es nicht. Der Verein für den ich das mache hat auch schon ein bisschen STress weil ich schon so lange damit brauche (es scheitert echt nur an der Navigation.  #evil#

Wer kann und würde helfen??

lg
lugginga

### [#144](https://www.typo3.net/d/15065-wwwmeadede/144) · schmutti · 2005-07-13

> Hallo erstmal!
>
> Ich habe das Menü erfolgreich eingebaut und es funktioniert auch super.icon_biggrin.gif
> Allerdings nicht im IE.icon_frown.gifDer IE crasht immer beim Aufruf der Seite.
> Ich habe schon rausgefunden woran das liegt. Das ist hier und da nachzulesen.
> Demnach ignoriert der IE die Stylesheets fürs Menü ab dem 31. Stylesheet.
>
> Ich habe dann einfach die alte ypSlideOutMenus.js mit der neuen Version von youngpub.net überschrieben. Jetzt crasht der IE nichtmehr, allerdings geht das Menü wieder zu wenn man über einen 2nd Level Eintrag steht. Kurz dannach erscheint das Menü dann wieder.
>
> Bis jetzt habe ich es nicht geschafft dieses Problem zu lösen.
> Es wäre schön wenn jemand helfen könnte, denn ich bin sicher nicht der einzige, der mehr als 30 Menüinstanzen braucht.
>
> MfG
> Silverblue

Hi,
genau vor dem selben Problem steh ich auch. Hast du das irgendwie lösen können? Ich habe auch mehr als 31 Unterpunkte, und mit der neuen .js ist das nicht mehr zu navigieren...
Danke
Basti

Nachtrag zum selberguggen:
<http://www.schmuttermaier.de>

### [#145](https://www.typo3.net/d/15065-wwwmeadede/145) · dzvo · 2005-07-27

Hallo,

bin auch noch Anfänger und schlage mich schon seit einigen Tagen mit dem Menü rum, leider ohne nenenswerte erfolge.

Kann sich mal bitte jemand annehmen und erklären wie man das hinbekommt?

von mir aus darf der des ypMenu auch in meiner Hauptdatei stehen.

<http://steinhauer-gmbh.net/_tmp/ypMenu/>

MfG

Thomas

### [#146](https://www.typo3.net/d/15065-wwwmeadede/146) · Thomas N · 2005-08-03

Hey Kollegen,

bei mir lief das Menü eigentlich schon... jedoch habe ich die letzten Tage n paar Ext. installiert und heute ist mir aufgefallen, das mein Menü im Mozilla Firefox **nicht mehr** stimmt..  :o
vielleicht hatte das schon mal jemand.
Ein Bild sagt mehr als tausend Worte  :)

<http://www.metzingen-best.de/fileadmin/mbest.gif>

Woran könnte das denn liegen??

Gruß
Thomas

### [#147](https://www.typo3.net/d/15065-wwwmeadede/147) · Unbekannter Benutzer · 2005-08-26

hallo allesamt!

ich habe diese seite jetzt erst entdeckt. das ist der absolute wahnsinn. schon fast depremierend, wenn ich sehe, wie ich dahinduempel mit meiner page.

glueckwunsch an den macher meade.de!!!!

### [#148](https://www.typo3.net/d/15065-wwwmeadede/148) · Leon de Bár · 2005-09-21

Hallo woida,

kannst du dein script für das vertikale Menue mal bitte posten? Ich habe großes interesse daran und andere denke ich auch.  :D

Thx. Leon.

### [#149](https://www.typo3.net/d/15065-wwwmeadede/149) · woida · 2005-10-02

Hier die ypmenus vertikal:
[/d/31085-ypmenu-vertikal](https://www.typo3.net/d/31085-ypmenu-vertikal)

Ich habs mal in einen neuen Thread geschrieben, sonst findet man ja nix mehr.

### [#150](https://www.typo3.net/d/15065-wwwmeadede/150) · leu · 2005-10-05

Hallo Forum,

erstmal ein großes Lob an die ENtwickler des Menüs. Ich habe das Menü zum Laufen gebracht. Darauf bin ich schonmal mächtig stolz. Nun würdee ich aber gerne alle Ebenen als GMENU gestalten. Ich habe allerdings keine AHnung was ich dawo ändern müsste. Habe mir bereits die PHP und die Javascript dateien genauer angeschaut, bin aber zu keinem Ergebnis gekommen.
Vielleicht ist das mit dem Menü auch zu schwierig und ich sollte es lieber mit Flash umsetzen? Aber eigentlich ist mir Flash zu begrenzt.

Ich freue mich über jede Antwort
leu

### [#151](https://www.typo3.net/d/15065-wwwmeadede/151) · Liberation · 2005-10-11

Als Gmenu macht überhaupt keinen sinn...
Extreme Ladezeiten und sehr schlecht performance wäre die folge.

Lieber die erste Ebene auch als Tmenu und alle Grafiken dann per CSS rein laden.

Alle Ebenen im Menu haben eigene Klassen somit kann man easy per CSS alle erdenklichen Grafiken und Designs umsetzten.

### [#152](https://www.typo3.net/d/15065-wwwmeadede/152) · leu · 2005-10-11

Hallo Liberation.

Das würde bei mir keinen Sinn ergeben, da ich auf jedenfall bestimmte Fonts verwenden möchte. Mit der CSS Lösung könnte ich ja nur pro Ebene, aber nicht pro Button unterschiedliche Grafiken definieren??!!

Ich sitze schon seit Tagen dran und versuche eine ähnliche lösung in Flash zu basteln. Falls jemand sowas schon dynamisch gemacht hat:
[bitte hier posten](https://www.typo3.net/d/8879-flash-menue)

### [#153](https://www.typo3.net/d/15065-wwwmeadede/153) · webpapst · 2005-10-13

hiiilfeee,

habe das menü eingebaut. im firefox läuft alles bestens. IE hat damit ein problem. das menü ist aufgeklappt und macht nimmer zu. seeehr komisch. kennt sich damit jemand aus???

### [#154](https://www.typo3.net/d/15065-wwwmeadede/154) · RT-Schwabe · 2005-11-12

Also ich habe das jetzt mehrfach (wahrscheinlich schon im 3-stelligen Bereich) installiert, deinstalliert, installiert, usw....

**aber bei mir wird immer nur eine weiße, leere Seite angezeigt.**

ich halte mich dabei an folgendes Tutourial:
<http://steinhauer-gmbh.net/_tmp/ypMenu/>

aber leider funktioniert bei mir gar nichts....

kennt den fehler jemand? ist da irgendwo ein Pfad nicht korrekt angegeben oder wie kann man das noch testen?
mein Typo3 kann ich nicht zurücksetzen, da liegen schon andere Inhalte drin. Ich habe Version 3.7

Gruß
Thorsten

### [#155](https://www.typo3.net/d/15065-wwwmeadede/155) · Liberation · 2005-11-16

Grade fertig geworden:
ypmenu mit 1 ebene als TMENU , kein GMENU und Transparenten Effekten:

<http://www.virtual-trends.alpha103.server4you.de/index.php?id=20>

Als zusatz habe ich die letzte Celle vom Menu auch noch breiter wie die anderen gemacht.
Gruss Liberation

### [#156](https://www.typo3.net/d/15065-wwwmeadede/156) · tom_botsche · 2005-11-16

Hi, finde die Navigation ja auch ganz toll,
aber die Installation kommt mir Irre aufwendig vor. Wobei ich zugeben muss das ich die letzten 16 Seiten nur überflogen habe. Das geht doch mit einem dynamischen Flash viel einfacher und man hat auch kein Browser Problem mehr. Flash hat ja hoffentlich jeder installiert. Oder?
Möchte jetzt nicht das es falsch rüberkommt, finde die Navi echt geschmeidig. RESPEKT  :D

Gruss
Tom

### [#157](https://www.typo3.net/d/15065-wwwmeadede/157) · babelfisch42 · 2005-11-16

Hi Liberation,

> Grade fertig geworden:
> ypmenu mit 1 ebene als TMENU , kein GMENU und Transparenten Effekten

und wie sieht's aus: gibt's ein kleines TS-Codeschnippselchen zu den Unterschieden (normales yp-Menu hab ich inzwischen 3mal erfolgreich einsetzen können...)

<anflehmodus>
sowas könnte ich für ein anstehendes Projekt brauchen
</anflehmodus>

:-)
Schönen Tach noch.

### [#158](https://www.typo3.net/d/15065-wwwmeadede/158) · saNdRo- · 2005-11-28

hallo,

also nochmals, das menü ist super.

jedoch eines vermisse ich, den active zustand. wenn im untermenü was angeklickt ist, das der über-menü-punkt auf active steht. hat das schon einer gemacht ?

vielen dank
sandro

### [#159](https://www.typo3.net/d/15065-wwwmeadede/159) · just2b · 2005-11-28

> **saNdRo- schrieb:**
>
> jedoch eines vermisse ich, den active zustand. wenn im untermenü was angeklickt ist, das der über-menü-punkt auf active steht. hat das schon einer gemacht ?

nicht gemacht, aber da gibts doch den Zustand ACTIFSUB

### [#160](https://www.typo3.net/d/15065-wwwmeadede/160) · saNdRo- · 2005-11-28

grrrrr, nach 16stunden vor dem schirm wird man schlampig.

hatte es mit ACTIFSUB probiert, aber falsch geschrieben.

danke funkt supi.

### [#161](https://www.typo3.net/d/15065-wwwmeadede/161) · ulzf · 2005-12-13

Hallo Leute!

Also das Menu funzt wie geplant. Jedoch will gerne Im Hauptmenue anstatt Bilder nur Text (also nicht GMENU sondern TMENU).

Habe es probiert, funzt allerdings nicht...
--> Das Huptmenue wird als Text ausgegeben aber die Submenues werden nicht angezeigt....

Kann mir jemand helfen!!

Danke im Voraus.

### [#162](https://www.typo3.net/d/15065-wwwmeadede/162) · kaktus · 2005-12-14

@ Liberation

fertig?

Deine Menü's sind schneller wieder weg als mein Cursor hinfliegen kann.

(IE 6)

### [#163](https://www.typo3.net/d/15065-wwwmeadede/163) · lavitto · 2005-12-21

Hallo zusammen,
Ich habe das Menü eingebunden und es funktioniert soweit einwandfrei.

Nun habe ich ein Problem:
Der Rollover funktioniert nur, wenn ich über den Menüpunkt selber fahre. Ich möchte ihn aber auch, wenn ich mit der Maus im Submenü navigiere. So wie bei www.meade.de.

Ich habe beide Quellcodes verglichen und auch TS,PHP etc. kontrolliert und kann leider keinen Fehler finden.

Damit ihr euch ein Bild machen könnt, die Seite:
<http://neu.speerblick.ch>

Kann mir eventuell jemand weiterhelfen?

Vielen Dank

### [#164](https://www.typo3.net/d/15065-wwwmeadede/164) · JohnSteed · 2005-12-26

Heyho,

das Menü läuft bei mir sogar zentriert super, allerdings wird mir das Menü im Firefox gar nicht angezeigt, nur die erste ebene. :-((

Hat jemand eine Idee?

Gruß,
Johny

### [#165](https://www.typo3.net/d/15065-wwwmeadede/165) · JohnSteed · 2005-12-28

Heyho,

das Menü wird mittlerweile auch im Firefox angezeigt, allerdings habe ich nun ein anderes Problem:

Ich habe Probleme mit der 3. Menüebene. Diese öffnet sich zwar rechts von der 2. Menüebene, aber nicht direkt neben dem entsprechendem Menüpunkt, sondern ein ganzes Stück darunter, so das der Menüpunkt der 3. Ebene gar nicht zu erreichen ist. Kann mir da jemand helfen.

Gruß,
Johny

### [#166](https://www.typo3.net/d/15065-wwwmeadede/166) · Mingo · 2006-01-05

Ich bin jetzt echt langsam am verzweifeln.. ich habe das gleiche Probleme wie schon mehrere leute vor mir dass der Marker ersetzt wird aber kein menu angezeigt.
Das ist der TS code des root-templates:

```typoscript
page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/page.css
page.10 = TEMPLATE
page.10 {
     template = FILE
     template.file = fileadmin/vorlage.html
     marks.MENU = COA
     marks.MENU {
     10 < temp.ypMenu
     20 < temp.user_menu
     }
}
```

Das ist der code des ausgelagerten temp.ypMenu:

```typoscript
config.no_cache = 1
page.includeLibs.ypMenu = fileadmin/ypMenu.php
page.headerData.11 = TEXT
page.headerData.11.value = <script type="text/javascript" src="fileadmin/ypSlideOutMenus.js" language="JavaScript"></script><script type="text/javascript" src="fileadmin/jslib.js" language="JavaScript"></script>
temp.ypMenu.special = directory
# 57 ist die ID der root-page - siehe screenshot
temp.ypMenu.special.value = 21
temp.ypMenu = HMENU
temp.ypMenu {
     1 = GMENU
     1 {
          IProcFunc = user_menu->firstLevel
          expAll = 1
          wrap = |
          NO = 1
          NO {
               wrap = |
               XY = [50.w]+20, 31
               30 = IMAGE
               30.file = fileadmin/menu_bg.gif
               50 = TEXT
               50 {
                    text.field = title
                    fontSize = 10
                    fontFile = fileadmin/fonts/verdana.ttf
                    fontColor = #222222
                    offset = 10,20
                    niceText = 0
                    transparentBackground = 1
               }
               100 = || IMAGE
               100.file = fileadmin/menu_space.gif
          }

          IFSUB < temp.ypMenu.1.NO
          IFSUB = 1

          RO < temp.ypMenu.1.NO
          RO = 1
          RO {
               backColor = #DDDDDD
               30 >
          }

          IFSUBRO < temp.ypMenu.1.NO
          IFSUBRO = 1
          IFSUBRO {
               backColor = #DDDDDD
               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.menu = USER
temp.menu.userFunc = user_menu->menuEnd
```

Hier sit die vorlage.html:

```php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="page.css" />
        <meta http-equiv="Content-Type"
                        content="text/html; charset=ISO-8859-1" />
    </head>
    <body>
    <!-- ###DOKUMENT### begin -->
        <div id="root">
            <div id="banner"> 
            <img src="fileadmin/banner.jpg" alt="">
            </div>
            <div id="login">
    ###LOGIN###
            </div>
            <div id="search">
    ###SEARCH###
            </div>
            <div id="cMenu">
    ###MENU###
            </div>
            <div id="content">
    ###CONTENT###
            </div>
            <br style="clear:both;" /> 
       </div>
    <!-- ###DOKUMENT### end -->
    </body>
</html>
```

Und nochmal der Quelltext der Seite (gekürzt):

```php
<body bgcolor="#FFFFFF">
  <!-- ###DOKUMENT### begin -->

  <div id="root">
    <div id="banner">
      <img src="fileadmin/banner.jpg" alt="" />
    </div>

    <div id="login">
      ###LOGIN###
    </div>

    <div id="search">

      ###SEARCH###
    </div>

    <div id="cMenu"></div>

    <div id="content">
      ###CONTENT###
    </div><br style="clear:both;" />
  </div><!-- ###DOKUMENT### end -->
</body>
</html>
```

Mir scheint es so als läge der Fehler darin dass der ausgelagerte TS code nicht richtig eingebunden wird. Die Template Datei liegt in einem sysordner eine Ebene tiefer als das root-template.

Ich würde mich sehr freuen wenn mir jemand noch einen denkanstoß geben könnte :)

### [#167](https://www.typo3.net/d/15065-wwwmeadede/167) · Liberation · 2006-01-05

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

temp.menu und marker user_menu soll ersetzt werden....
wie soll da auch code kommen?

### [#168](https://www.typo3.net/d/15065-wwwmeadede/168) · Yannis · 2006-01-15

HI,
ich habe ein Problem: das Menu funktioniert zum Beispiel im Firefox, im Internet explorer wird das js jedoch leider ignoriert.
Ich hoffe, dass ihr mir helfen könnt,
YAnnis

### [#169](https://www.typo3.net/d/15065-wwwmeadede/169) · tobstar · 2006-01-19

Das Problem hab ich auch, ich hab es auch noch nicht geschafft es zu lösen... habe alle Dateien von den anderen Seiten, aber es klappt einfach nicht...

### [#170](https://www.typo3.net/d/15065-wwwmeadede/170) · BOAT · 2006-02-08

Hi zusammen,

eine dumme Frage habe ich jetzt auch noch (hoffe, sie wurde auf den letzten Seiten noch nicht gestellt und beantwortet - konnte auf jeden Fall nix finden):

Ist es eigentlich auch möglich, dass das MEnü nicht nach unten aufgeht, sondern sich über der Navigation öffnet.

Ich habe nämlich das Problem, dass sich das Hauptmenü relativ weit unten befindet und das Ausklappmenü muss nach oben aufgehen.

Geht das und wenn ja: wie?

Danke.
boat

### [#171](https://www.typo3.net/d/15065-wwwmeadede/171) · Liberation · 2006-02-08

sicher geht das, man müsste nur das php skript anpassen.

### [#172](https://www.typo3.net/d/15065-wwwmeadede/172) · michlbeck · 2006-02-14

wenn ich java deaktiviere, zeigt es bei meade nur das oberste level an. auf meiner seite aber alle unterpunkte auch. dies versaut dann die ganze seite. an was liegt das?

### [#173](https://www.typo3.net/d/15065-wwwmeadede/173) · Liberation · 2006-02-14

ohne java -> kein slideout

### [#174](https://www.typo3.net/d/15065-wwwmeadede/174) · jpsy · 2006-02-14

Hiho,

kämpfe mir auch gerade meinen Weg durch diesen sagenhaften Thread. Klasse Arbeit!

Kann mir jemand sagen, welche Funktion die jslib.js in dem Packet von Liberation hat? Die darin definierten Funktionen und Vars scheinen nirgendwo benutzt zu werden. Und zumindest in FireFox läuft das Menü bei mir auch ohne dieses JS prächtig.

Ich kämpfe gegenwärtig noch mit IE. Obwohl FireFox alles sauber darstellt, werden die Slideouts in IE horizontal verschoben und nur mit halber Breite dargestellt. Falls jemand den Effekt kennt, bin ich für einen Hinweis dankbar. Ansonsten such ich halt weiter...

### [#175](https://www.typo3.net/d/15065-wwwmeadede/175) · jpsy · 2006-02-14

Ok, das Problem mit IE6 ist gelöst:

Bei zentriertem Seiteninhalt ("text-align: center"  fürs BODY-Tag oder für ein DIV Tag das das Menü kapselt) MUSS das Menü unbedingt nochmal in einem inneren DIV verpackt werden, das ein "text-align: left" besitzt. Sonst tritt der Effekt auf, dass die Slidemenüs im IE nach rechts verschoben und auf halbe Breite beschnitten sind. Liberation hat diese Center-Konstruktion in diesem Thread auch genau so demonstriert (Posting vom 26.04.2005 [10:35]).

Nach meinen Erfahrungen muss besagter innerer Container aber unbedingt noch eine width bekommen, da er sonst im IE auf voll Seitenbreite expandiert wird, und dadurch das Centering verloren geht. Schwierig wirds, wenn die Breite der obersten Menüebene (GMENU) nicht konstant ist (z.B. weil man dem Besitzer der Website die Möglichkeit gibt, weitere Menüpunkte hinzuzufügen). Ich habe daher dem inneren Container ums Menü eine "width: 1px" und ein "white-space: nowrap" gegeben. Das wiederum mögen ordentliche Browser (FireFox) nicht. Daher steht der ganze Bettel in einem CSS, das nur von IE ausgewertet wird:

```html
<!--[if IE]>
  <link href="fileadmin/templates/css/IE.css" rel="stylesheet" type="text/css" />
<![endif]-->
```

Was für eine Äktschen - mal wieder alles nur für den geliebten IE.
Vielleicht findet ja jemand einen sauberen Weg, ohne Browserunterscheidung im CSS...

Es bleibt aber die Frage, wozu die jslib.js dienen soll. Mein Menü funktionieren jetzt vollständig ohne diese Datei.

### [#176](https://www.typo3.net/d/15065-wwwmeadede/176) · didder · 2006-03-14

Hi,

nachdem ich eigentlich alle Probleme mit Hilfe des Forums lösen konnte stehe ich jetzt vor der letzten Hürde. Menü funktioniert soweit, Submenus erscheinen an der richtigen Stelle, aber:

In der obersten Menüebene wird nach jedem Punkt umgebrochen, ergo: Die Punkte der ersten Menüebene stehen alle untereinander. Im Quelltext finde ich auch ein <br>. Und das bekomme ich einfach nicht weg.

<http://web3.208210.vserver.de>

Im Setup ist auch kein wrap mit <br /> oder ähnliches zu finden, CSS gibt auch keinen Hinweis. Bin nach der Anleitung unter <http://typo3.kj187.de/typo/t3tutorials/typoscript/menus/?detail=39> vorgegangen und hab die Datein von dort auch so übernommen.

Jemand vielleicht eine Idee, was der Grund sein könnte?

Danke.

### [#177](https://www.typo3.net/d/15065-wwwmeadede/177) · Liberation · 2006-03-14

Hi,
du hast doch garkein br im code und wrap hast du auch keinen im ts. Deine menupunkte sind einfach aneinander gereite "a" Tags und die stehen nun mal untereinander.

float: left hilft da oder ein ein warp mit span tag oder  ein mit dvi tag und float: left oder als liste (ul, li) mit float: left. Viele wege führen nach rom aber etwas html wissen sollte man schon haben.

### [#178](https://www.typo3.net/d/15065-wwwmeadede/178) · didder · 2006-03-14

That's it!  :D

Danke!

### [#179](https://www.typo3.net/d/15065-wwwmeadede/179) · zeal · 2006-05-02

hallo zusammen.

habe ebenfalls das ganze übernommen, von überall her und probiert und probiert :-)

habe momentan das ganze von: <http://typo3.kj187.de/typo/t3tutorials/typoscript/menus/?detail=39>

mein fehler, der erscheint: Parse error: parse error, unexpected T_STRING in C:\Programme\typo3\htdocs\typo3wamp\fileadmin\scripts\ypMenu\ypmenu.php on line 197

gibt's denn irgendwo ein komplettes beispiel, mit template dass auf anhieb funktioniert ? weiss, klingt jetzt ein wenig faul... bin aber schon ein paar tage dran am anpassen und hab noch nichts gscheites hingekriegt *verzweifel...*

danke schön

### [#180](https://www.typo3.net/d/15065-wwwmeadede/180) · Pasci · 2006-06-05

Ich bekomm das ypmenu einfach nicht hin. Hab jetzt schon ueber 10std kontinuierlich daran rumgemacht und alle moeglichen optionen ausprobiert. Aber es wird einfach nicht angezeigt. (Bei den Beispiel Seiten, wie <http://www.sci-worx.com/> zeigt der browser das ypmenu an, also das java in meinem browser funzt)
Ich benutze typo3 4.0 und habe meine seite mit templavoila generiert. Fuer die menues habe ich lib.menu_1 als object path benutzt, den ich auch dementsprechend im typoscript angepasst habe. Auch die pfade stimmen. Was kann da noch falsch sein? Hier ist der link zu meiner site: <http://www.exotissimo.com/t/index.php?id=311>

Hier das setup fuer die main template:

```typoscript
config.spamProtectEmailAddresses = 1

page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page

page.10.marks.MENU < temp.ypMenu
page.10.marks.MENUCODE = USER
page.10.marks.MENUCODE.userFunc = user_menu->menuEnd
```

und hier die externe template, die ich ypMenu genannt habe
Externes template heisst doch einfach ein neues template anlegen, oder vestehe ich da was falsch?? siehe bitte screenshot ganz unten:

```typoscript
#Typo3: externes Template ( temp.ypMenu ) -> Setup 

config.no_cache = 1
page.includeLibs.ypMenu = fileadmin/templates/exo2col/ypMenu.php
page.headerData.11 = TEXT
page.headerData.11.value = <script type="text/javascript" src="fileadmin/templates/exo2col/ypSlideOutMenus.js" language="JavaScript"></script> temp.ypMenu.special = directory
# 311 ist die ID der root-page - siehe screenshot
temp.ypMenu.special.value = 311
temp.ypMenu = HMENU
temp.ypMenu {
     1 = GMENU
     1 {
          IProcFunc = user_menu->firstLevel
          expAll = 1
          wrap = |
          NO = 1
          NO {
               wrap = |
               XY = [50.w]+20, 31
               30 = IMAGE
               30.file = fileadmin/templates/exo2col/menu_bg2.gif
               50 = TEXT
               50 {
                    text.field = title
                    fontSize = 10
                    fontFile = fileadmin/templates/exo2col/fonts/verdana.ttf
                    fontColor = #222222
                    offset = 10,20
                    niceText = 0
                    transparentBackground = 1
               }
               100 = || IMAGE
               100.file = fileadmin/templates/exo2col/menu_space.gif
          }

          IFSUB < temp.ypMenu.1.NO
          IFSUB = 1

          RO < temp.ypMenu.1.NO
          RO = 1
          RO {
               backColor = #DDDDDD
               30 >
          }

          IFSUBRO < temp.ypMenu.1.NO
          IFSUBRO = 1
          IFSUBRO {
               backColor = #DDDDDD
               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
```

hier ist ein teil meiner html template:

```html
<script language="javascript" src="/fileadmin/template/res/ypSlideOutMenus.js" type="text/javascript"></script>
<script language="javascript" src="/fileadmin/template/res/jslib.js" type="text/javascript"></script>
```

und

```html
<div id="cMenu">
      <div align="right">###MENU######MENUCODE###</div>
    </div>
```

und natuerlich noch die css:

```html
#cMenu {<br />
     height:31px;<br />
     width: 708px;<br />
     margin-left:1px;<br />
     margin-bottom:1px;<br />
     background: #FFFFFF url(menu_bg.gif) repeat-x top left;<br />
     position:relative; /* wichtige angabe, sonst taucht das slideMenu an falscher Position auf */<br />
}<br />
<br />
/*<br />
###################<br />
# ypMenu Styles #<br />
###################<br />
*/<br />
.mmContent {<br />
     /* nrmale schrift definieren */<br />
     font-size: 12px; font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular;<br />
}<br />
<br />
.mmContent ul {<br />
     margin: 0px; padding: 0px;<br />
     list-style: none;<br />
     z-index:2;<br />
     position:relative;<br />
     left:0px; top:0px;<br />
}<br />
.mmContent li {<br />
     padding: 0px; margin: 0px;<br />
}<br />
<br />
.menuBackground {<br />
     position:absolute;<br />
     left:0px; top:0px;<br />
     z-index:1;<br />
}<br />
<br />
.mmContent li a {<br />
     /* Links bzw. die slideMenü-Elemente definieren */<br />
     display: block;<br />
     color: #222222;<br />
     font-weight:normal;<br />
     font-size: 12px;<br />
     font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular;<br />
     width: 150px;<br />
     padding: 5px;<br />
     text-decoration: none;<br />
     border-bottom: solid 1px #CCCCCC; /* der rand zwischen den MenüElementen */<br />
}<br />
<br />
* html .mmContent li a {<br />
     width: 160px;<br />
     width: 160px;<br />
}<br />
<br />
/* */<br />
.mmContent li a:link { background: #EAED65; color: #222222; font-size: 12px; }<br />
.mmContent li a:visited { background: #EAED65; color: #222222; font-size: 12px; }<br />
<br />
.mmContent li a:hover{ background: #FFFF99; color: #222222; font-size: 12px; }<br />
.mmContent li a:active { background: #EAED65; color: #222222; font-size: 12px; }<br />
<br />
.mmContent li a.submenu {<br />
background: #EAED65 url(fileadmin/scripts/ypMenu/pfeil.gif) no-repeat right center; }<br />
.mmContent li a.submenu:hover {<br />
background: #FFFF99 url(fileadmin/scripts/ypMenu/pfeil.gif) no-repeat right center; }<br />
<br />
/*<br />
##########################################<br />
# ypMenu Styles for our belove IE 5.01 #<br />
##########################################<br />
*/<br />
<br />
.mmContentb {<br />
     font-size: 12px; font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular;<br />
}<br />
<br />
.mmContentb ul {<br />
     margin: 0px; padding: 0px;<br />
     list-style: none;<br />
     z-index:2;<br />
     position:relative;<br />
     left:0px; top:0px;<br />
}<br />
.mmContentb li {<br />
     padding: 0px; margin: 0px;<br />
}<br />
<br />
.menuBackground {<br />
     position:absolute;<br />
     left:0px; top:0px;<br />
     z-index:1;<br />
}<br />
<br />
.mmContentb li a {<br />
     /* Links bzw. die slideMenü-Elemente definieren */<br />
     display: block;<br />
     width: 150px;<br />
     padding: 5px;<br />
     color: #222222;<br />
     font-weight: normal;<br />
     font-size: 12px;<br />
     font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular;<br />
     text-decoration: none;<br />
     border-bottom: solid 1px #CCCCCC; /* der rand zwischen den MenüElementen */<br />
}<br />
<br />
* html .mmContentb li a {<br />
     width: 160px;<br />
     width: 160px;<br />
}<br />
<br />
.mmContentb li a:link { background: #EAED65; color: #222222;}<br />
.mmContentb li a:visited { background: #EAED65; color: #222222;}<br />
<br />
.mmContentb li a:hover{ background: #FFFF99; color: #222222;}<br />
.mmContentb li a:active { background: #EAED65; color: #222222;}<br />
<br />
.mmContentb li a.submenu {<br />
     background: #EAED65 url(fileadmin/scripts/ypMenu/pfeil.gif) no-repeat right center;<br />
     font-size: 12px;<br />
}<br />
.mmContentb li a.submenu:hover {<br />
     background: #FFFF99 url(fileadmin/scripts/ypMenu/pfeil.gif) no-repeat right center;<br />
     font-size: 12px;<br />
}
```

hier noch der screenshot vom 'externen template'

[Bild: exotissimo.com/…/ypmenu.jpg](http://www.exotissimo.com/t/fileadmin/templates/exo2col/images/ypmenu.jpg)

und vom template voila:
[Bild: exotissimo.com/…/templavoila.jpg](http://www.exotissimo.com/t/fileadmin/templates/exo2col/images/templavoila.jpg)

Ich wuerde mich ueber jegliche Hilfe von Euch sehr freuen. Merci schon mal im Vorraus...

### [#181](https://www.typo3.net/d/15065-wwwmeadede/181) · daniel_m_ww · 2006-06-25

Hi Leute,

zuerst mal dickes Lob an die Entwickler! Das Menü ist echt ma geil!

hab mir jetzt den ganzen Thread durchgelesen und das Menü auch schon probiert zu testen. (hat lange gedauert :)).

Nun weiß ich nicht so recht, aber bekomme die Menüpunkte untereinandere gezeigt, nicht horizontal. Und es klappt nichts aus.
Habe auch nur einen Subpart im Template gesetzt?
Dazu für das ypMenu ein neues Template angelegt und im Haupttemplate als Basis Template hinzugefügt, dürfte doch auch gehen oder?

Dann hab ich in einem anderen Thread, der von diesem gelinkt wurde ein vertikales Menü gefunden, das hab ich getestet und da klappt es aus.

Gibt es vielleicht schon ein Tutorial für das Horizontale Menü zum einbinden?

Über Hilfe würde ich mich sehr freuen :)

MfG Daniel

### [#182](https://www.typo3.net/d/15065-wwwmeadede/182) · daniel_m_ww · 2006-07-03

Hi Leute,

hab das Menü nun richtig einbinden können. Aber hab ein problem, er nimmt die CSS Formatierungen nicht an.
Habe die CSS Angaben in mein Haupt Stylesheet mit reingeschrieben. Hab im Quellcode nachgesehen, er vergibt dem Menü auch die Klassen. Trotzdem zeigt er mir das ganze Menü in Blau, und ohne Hintergrund, was ich nicht verstehe?

Gibt es etwas besonderes mit der formatierung?

mfG

### [#183](https://www.typo3.net/d/15065-wwwmeadede/183) · steffenk · 2006-07-03

Ich schliesse hier, da das Thema zu lang ist und es mittlerweile weit weg vom Thema ist.
Bitte macht für Fragen ein neues Thema auf.

@daniel_m_ww poste einen Link und stell die Frage unter einem CSS-betreffenden Bereich, dann wird Dir auch schnell geholfen

---

Quelle: „www.meade.de“, typo3.net, https://www.typo3.net/d/15065-wwwmeadede
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
