学做网站培训课程介绍

当前位置:

帝国CMS如何调用带下拉菜单的导航

帝国CMS建网站时,使用程序自带的菜单标签,可以生成纯A的菜单。


[!--class.menu--]

如果只想调用一级导航,可以使用以下的代码:


<ul class="topnav">
<li class="<?= ($GLOBALS['navclassid'] ? '' : 'current-menu-item') ?>"><a href="[!--news.url--]">网站首页</a></li>
<?php
// 查询一级菜单
$sql = $empire->query("select classid, sonclass, classname, islast, islist from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder asc LIMIT 20");
while ($primaryMenu = $empire->fetch($sql)) {
$classUrl = sys_ReturnBqClassname($primaryMenu, 9);
$topClass = '';
$featherClass = explode('|', $class_r[$GLOBALS['navclassid']]['featherclass']);
$topbclassid = $featherClass[1] ? $featherClass[1] : $GLOBALS['navclassid'];

// 判断是否为当前菜单
if ($topbclassid == $primaryMenu['classid']) {
$topClass = 'current-menu-item';
}

?>
<li class="navbar-item <?=$topClass?>"><a href="<?=$classUrl?>"><?=$primaryMenu['classname']?></a></li>
<?php }?>
</ul>

如果想制作带二级菜单,需要显示带下拉功能的导航菜单,使用默认菜单标签是无法实现的。可以使用以下的代码来实现。( LIMIT 20 可以控制数量)

<ul class="topnav">
<li class="<?= ($GLOBALS['navclassid'] ? '' : 'current-menu-item') ?>"><a href="[!--news.url--]">网站首页</a></li>
<?php
// 查询一级菜单
$sql = $empire->query("select classid, sonclass, classname, islast, islist from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder asc LIMIT 20");
while ($primaryMenu = $empire->fetch($sql)) {
$classUrl = sys_ReturnBqClassname($primaryMenu, 9);
$topClass = '';
$featherClass = explode('|', $class_r[$GLOBALS['navclassid']]['featherclass']);
$topbclassid = $featherClass[1] ? $featherClass[1] : $GLOBALS['navclassid'];

// 判断是否为当前菜单
if ($topbclassid == $primaryMenu['classid']) {
$topClass = 'current-menu-item';//当前样式
}

//判断是否有二级菜单
if ($primaryMenu['islast'] == 0) {//有下拉
$fuliclass=" ";
$fuaclass=" ";
}else{
$fuliclass=" ";
$fuaclass=" ";
}

?>
<li class="<?=$topClass?> <?=$fuliclass?>"><a class="<?=$fuaclass?>" href="<?=$classUrl?>"><?=$primaryMenu['classname']?></a>

<?php
//判断是否有二级菜单
if ($primaryMenu['islast'] == 0) { ?>
<ul class="sub-menu">
<?
$sql2 = $empire->query("select classid, classname from {$dbtbpre}enewsclass where bclassid={$primaryMenu['classid']} and showclass=0 order by myorder asc");
$subMenuStr = "";
while ($secondaryMenu = $empire->fetch($sql2)) {
$classUrl2 = sys_ReturnBqClassname($secondaryMenu, 9);
?>
<li><a href="<?=$classUrl2?>"><?=$secondaryMenu['classname']?></a></li>
<?
}
?>
</ul>
<?php }
?>

</li>
<?php }?>
</ul>

可以根据自己原代码的类名进行修改,它是自动判断当前一级分类下是否有二级分类,如果有就以下拉的方式来实现展示。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关教程

  • 新手学做网站难免遇到各种问题,不用慌,很多问题都是新手必经之路,下面总结了最常见的问题和简单的解决方法,照着做就能搞定,不用到处求人。问题1
  • Hostinger 主机开启自带 CDN 步骤:Hostinger 自带 CDN 仅 Business 及以上套餐可用,入门单网站套餐无此功能。第一步:用户名密码登录Hostinger主
  • 对于企业网站、电商网站来说,产品展示功能是核心,一个好的产品展示功能能让用户快速了解产品信息,提高购买意愿。很多新手做网站的时候,不知道怎么
  • 不懂编程也能搭建个人网站,现在的工具早就实现“无代码建站”了,不用写一行代码,跟着下面的步骤来,小白也能快速拥有自己的网站,不用怕学不会。首
  • 想让网页上的文字闪烁,比如提醒用户注意某个信息,不用写复杂的JS代码,用HTML或CSS就能实现,新手也能轻松上手。第一种方法是用HTML的blink标签,
  • 零基础做网站不用花很多钱,丰俭由人,少则几百块,多则几千块,主要看你的需求,不用盲目花钱,下面给大家算一笔明白账,让你心里有数。首先是域名
  • 很多人做网站都会用现成的模板,毕竟自己从零设计网站不仅费时间,还需要专业的设计能力。但现成的模板用的人多了,很容易出现“撞脸”的情况,别人打开
  • 很多小商家、个体户想做一个电商产品展示网站,让客户能在线查看产品、了解详情,但又不想花太多钱。其实有很多免费的工具和方法,新手不用懂代码也能
  • Yoast SEO是WordPress最强大的SEO插件之一,能帮你优化文章和页面的SEO,提高搜索引擎排名,下面给大家详细讲解基本使用方法。第一步,安装并启用插
  • 新手做网站不用盲目跟风学,不用一上来就啃复杂的代码、技术文档,找对切入点,从基础开始,一步步来,很快就能上手,下面给大家指条清晰的学习路径,