以下是本人认为的主要的菜单源码部分<?php 
// Taken from post by Silverfish here: http://forum.mamboserver.com/viewtopic.php?t=8035&highlight=
// Custom MainMenu extension...
global $database, $my;
$mymenu_content = <<<EOT
<script language = "JavaScript">
<!--
var myMenu =
[
EOT;$database->setQuery("SELECT * FROM #__menu WHERE menutype = '$menu' AND published ='1' AND access <= $my->gid ORDER BY '$order'");
$menus = $database->loadObjectList();   // mainmenu list
$subs = array();   // sub menus// first pass to collect sub-menu items
foreach ($menus as $row) {
if ($row->parent) {
if (!array_key_exists( $row->parent, $subs )) {
$subs[$row->parent] = array();
}
$subs[$row->parent][] = $row;
}
}foreach ($menus as $row) {
// second pass to insert main-menu items
if ($row->parent == 0 && (trim( $row->link ) || array_key_exists( $row->id, $subs ))) {
$name = addslashes( $row->name );
$alt = addslashes( $row->name );
$link = $row->link ? "$row->link" : "null";
if ($row->type != "url") {
$link .= "&Itemid=$row->id";
}
$link_sef = "'".sefRelToAbs($link)."'";
$mymenu_content .= "\n   ['<img src=\"$mosConfig_live_site/modules/$module/images/darrow.png\">','$name',$link_sef,null,'$alt'";

if (array_key_exists( $row->id, $subs )) {
$mymenu_content .= ','; foreach ($subs[$row->id] as $sub) {
// third pass to insert sub-menu items
$name = addslashes( $sub->name );
$alt = addslashes( $sub->name );
$link = $sub->link ? "$sub->link" : "null";
if ($sub->type != "url") {
$link .= "&Itemid=$sub->id";
}
$link_sef = "'".sefRelToAbs($link)."'";
$mymenu_content .= "\n      ['<img src=\"$mosConfig_live_site/modules/$module/images/sections.png\">','$name',$link_sef,null,'$alt'";




if (array_key_exists( $sub->id, $subs )) {
$mymenu_content .= ','; foreach ($subs[$sub->id] as $sub2) {
// forth pass to insert subsub-menu items
$name = addslashes( $sub2->name );
$alt = addslashes( $sub2->name );
$link = $sub2->link ? "$sub2->link" : "null";
if ($sub2->type != "url") {
$link .= "&Itemid=$sub2->id";
}
$link_sef = "'".sefRelToAbs($link)."'";
$mymenu_content .= "\n      ['<img src=\"$mosConfig_live_site/modules/$module/images/sections.png\">','$name',$link_sef,null,'$alt'";
if (array_key_exists( $sub2->id, $subs )) {
$mymenu_content .= ','; foreach ($subs[$sub2->id] as $sub3) {
// fifth pass to insert subsub-menu items
$name = addslashes( $sub3->name );
$alt = addslashes( $sub3->name );
$link = $sub3->link ? "$sub3->link" : "null";
if ($sub3->type != "url") {
$link .= "&Itemid=$sub3->id";
}
$link_sef = "'".sefRelToAbs($link)."'";
$mymenu_content .= "\n      ['<img src=\"$mosConfig_live_site/modules/$module/images/sections.png\">','$name',$link_sef,null,'$alt'],";
} }
$mymenu_content .= "],"; }
}
$mymenu_content .= "],"; }
}
$mymenu_content .= "],";
}
}$mymenu_content .= "\n ];";
$mymenu_content .= "\n -->";
$mymenu_content .= "\n </SCRIPT> \n";
echo $mymenu_content;
?>

解决方案 »

  1.   

    程序在
    $mymenu_content .= "\n      ['<img src=\"$mosConfig_live_site/modules/$module/images/sections.png\">','$name',$link_sef,null,'$alt'";输出了第一个PNG,以及产生了下拉菜单,但是我要添加的PNG应该添加在哪里呢?
      

  2.   

    这个主要是js的事,和php关系不大
      

  3.   

    恩,有一个JS文件,我也给出来.晕,忽然发现代码TOO LONG了.
    定义了N多函数.-_-#