<?php
$menuRoot = $db->get_results("select * from ".TB_PREFIX."menu where deep = 0 and isHidden=0 and dtLanguage='".$_SESSION[TB_PREFIX.'dtLanguage']."' order by ordering");
$i=0;
foreach ($menuRoot as $o)
{
$i++;
$submenuRoot=$db->get_results("select * from ".TB_PREFIX."menu where parentid=".$o->id." and isHidden=0 order by ordering asc");
if($params['id']==$o->id)
{
if($i==count($menuRoot))
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" id="menuEnd" class="hereEnd">'.$o->title.' </a>';
else
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" class="here">'.$o->title.' </a>';
}
else
{
if($i==count($menuRoot))
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" id="menuEnd">'.$o->title.' </a>';
else
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/">'.$o->title.' </a>';
}
if($submenuRoot=='')
{
echo ' </li>';
}
else
{
echo ' <ul>';
foreach($submenuRoot as $osub)
echo ' <li> <a href="'.get_root_path().'/html/'.$osub->menuName.'/">'.$osub->title.' </a> </li>';
echo ' </ul>';
echo ' </li>';
}
}
?>这是一段输出菜单的代码目前已实现的是:如果当前页为某个父菜单时,该父菜单的样式为class="here"我还想实现的是:如果当前页为某个子菜单时,该子菜单的父菜单的样式也为class="here"请问应该怎么修改?
$menuRoot = $db->get_results("select * from ".TB_PREFIX."menu where deep = 0 and isHidden=0 and dtLanguage='".$_SESSION[TB_PREFIX.'dtLanguage']."' order by ordering");
$i=0;
foreach ($menuRoot as $o)
{
$i++;
$submenuRoot=$db->get_results("select * from ".TB_PREFIX."menu where parentid=".$o->id." and isHidden=0 order by ordering asc");
if($params['id']==$o->id)
{
if($i==count($menuRoot))
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" id="menuEnd" class="hereEnd">'.$o->title.' </a>';
else
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" class="here">'.$o->title.' </a>';
}
else
{
if($i==count($menuRoot))
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" id="menuEnd">'.$o->title.' </a>';
else
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/">'.$o->title.' </a>';
}
if($submenuRoot=='')
{
echo ' </li>';
}
else
{
echo ' <ul>';
foreach($submenuRoot as $osub)
echo ' <li> <a href="'.get_root_path().'/html/'.$osub->menuName.'/">'.$osub->title.' </a> </li>';
echo ' </ul>';
echo ' </li>';
}
}
?>这是一段输出菜单的代码目前已实现的是:如果当前页为某个父菜单时,该父菜单的样式为class="here"我还想实现的是:如果当前页为某个子菜单时,该子菜单的父菜单的样式也为class="here"请问应该怎么修改?
解决方案 »
- 菜鸟请教如何把一段文字上传到服务器 然后通过地址显示呢?
- 谁知道在上海 3-4年php经验的程序员待遇怎么样啊?
- dedecms建立一个模型,比如图片上传,普通用户能上传图片吗?未登录时
- PHP和MYSQL连接后怎么查不到自己建的数据库啊
- dedecms会员详细资料
- 求一段PHP 下载代码
- 哪位好心人帮我看看 这个段代码里面 ftp_put函数当中的$upfile_name和$upfile是之前已经定义好的还是当时定义啊?
- 有什么办法能够帮我们建立这样有左右值的数据表?
- ubuntu下安装了Zendstudio 10 ,xdebug没配置好,只能CLI调试不能Web调试。
- 访问权限的问题
- 网站制作。。。
- apache启动的问题
foreach($submenuRoot as $osub)
echo ' <li> <a href="'.get_root_path().'/html/'.$osub->menuName.'/">'.$osub->title.' </a> </li>';
echo ' </ul>';
echo ' </li>';
应该是在这一块处理,如果 父结点 搞好了, 子结点 也应该差不多吧
$i=0;
foreach ($menuRoot as $o)
{
$i++;
$submenuRoot=$db->get_results("select * from ".TB_PREFIX."menu where parentid=".$o->id." and isHidden=0 order by ordering asc");
if($params['id']==$o->id)
{
if($i==count($menuRoot))
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" id="menuEnd" class="hereEnd">'.$o->title.' </a>';
else
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" class="here">'.$o->title.' </a>';
}
else
{
if($i==count($menuRoot))
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/" id="menuEnd">'.$o->title.' </a>';
else
echo ' <li> <a href="'.get_root_path().'/html/'.$o->menuName.'/">'.$o->title.' </a>';
}
if($submenuRoot=='')
{
echo ' </li>';
}
else
{
echo ' <ul>';
foreach($submenuRoot as $osub)
echo ' <li> <a href="'.get_root_path().'/html/'.$osub->menuName.'/">'.$osub->title.' </a> </li>';
echo ' </ul>';
echo ' </li>';
}
}
在你的代码里好像没看出来实现当前页面的父菜单的样式为class="here" 好像是查询结果最后个一 的样式为 class="here" (); 按LZ的做法,就可以这样了...
$i = 0;
$con = count( $submenuRoot );
foreach($submenuRoot as $osub)
{
$i++;
if( $i == $con )
{
$str = "class='here'";
}
else
{
$str = '';
}
echo ' <li> <a href="'.get_root_path().'/html/'.$osub->menuName.'/" $str >'.$osub->title.' </a> </li>';
}