学做网站培训课程介绍

当前位置:

帝国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>

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

发表评论

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

相关教程

  • 通常我们制作网站的二级菜单都是使用普通的下拉展开的方式,但也有网站的下拉二级菜单是带有图片的布局。如下图:怎么制作这样的带图的二级下拉菜单
  • 默认情况下,服务器的PHP上传限制为50M,对于多数上传是足够了。如果想在网站后台上传更大的文件,可以在宝塔后台修改上传限制50M的大小。方法如下:
  • 做网站时,有时需要在网站前台制作一个表单,表单里有点击上传图片的功能。怎么自己使用PHP制作这种网站前台表单上传图片到服务器功能呢?下面分享
  • 这个教程将讲解Wordpress + Elementor可视化开发外贸独立网站的整个过程,将以视频案例的方式一步步讲解如何可视化开发外贸独立网站。以下是可视化开
  • 制作外贸网站时,如果想在网站的网页中嵌入地图,我们需要嵌入英文版地图。如下图:怎么做到嵌入这样的英文版地图呢,下面学做网站论坛就来介绍一下
  • 网站导航菜单中常见的有二级下拉菜单,这个制作起来相对比较简单。如果网站项目比较多时,可以制作三级下拉菜单,可以更好的展示项目。如下图:怎么
  • 现在很多网站都安装了SSL证书来实现加密访问,SSL证书一般是申请后可以使用一年,一年到期后再次申请重新布署。但有些站长会遇到这样的情况,网站旧
  • WordPress程序里的某个PHP文件,如果想连接数据库,一般需要填写数据库名、数据库用户、密码等信息,如下:<?php$conn=mysqli_connect(&qu
  • 我们做网站一般都是做自适应结构,不同用户使用不同的浏览设备可以浏览不同的版面的网站。但有时为了特殊的要求,我们不希望自己的网站手机端自适应,
  • 我们制作网站前台提交发布界面时,富文本编辑器常常使用kindeditor 编辑器,kindeditor 编辑器支持用户上传图片和附件,通常情况下编辑器是不限制附件