下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms怎样判断一个栏目有没有子栏目?(父栏目换位判断原创方案)

506 2021-04-22 03:11:05

收藏

简述

判断当前栏目是否是其他栏目的父栏目,即可确定本栏目是否有子栏目。
在帝国cms站点的开发过程中,有时候需要判断栏目有没有下级栏目,如果有子栏目,则展示下拉框,否则不出现下拉框。

帝国cms怎样判断一个栏目有没有子栏目?(父栏目换位判断原创方案)
网上流传的教程是判断islast方案以及非islast方案(方案名提炼简称),概要与功能分析如下。
 

islast方案

islast方案只能判断这个栏目下面有没有最终栏目,如果子栏目不是终极栏目,则数据库不会存储栏目id到sonclass字段,判断必然失效。因此,后来有高手提出了非islast判断方案。
 

非islast方案

从搜索结果来看,非islast方案流传也比较广,但此方案需要查询并存储为数组,然后转为字符串,在这个基础上再用strstr函数进行比较,不仅繁琐难懂,且消耗服务器性能。因此我们研究出了第三种方案。
 

父栏目换位判断方案

我们的需求是判断当前栏目是否有子栏目,如果子栏目无法取得,那么我们就换个思路:取得其他栏目的父栏目。如果其他栏目的父栏目等于当前循环的栏目id,则这个id的栏目自然有子栏目。理解稍绕,但实现并不绕,请看下方源码。

注:考虑到有此需求,并想要实现的的用户具备一定的代码基础,此处只粘贴核心源码与大意。
<?
    $re=$empire->fetch1("select classid from {$dbtbpre}enewsclass where bclassid=$bqr[classid] limit 1");
    if($re){
?>
    //此处的循环省略
    <div class="drop-down"><ul><li><a href="#">子栏目名</a></li></ul></div>
    //此处的循环结束符省略
<?}?>

 

判断是否有子栏目核心思路

1、循环全部父栏目为0的栏目,而后取得全部一级栏目。
2、获取一条所有父栏目为上方栏目id的栏目。
3、如果获取到,则当前栏目必然有子栏目,进入下一级循环;如果获取结果为空,则不进行任何操作。

这样,我们就通过最简洁的方案实现了判断一个栏目有没有子栏目的功能。
 

附注

网上关于如何判断一个栏目是否有子栏目的教程很多,除却islast和非islast方案外,肯定还有其他更好的方案,直接复制粘贴确实省事也省心,但实实在在的理解其原理并能做到举一反三,最终才能变成自己的技能。

本文地址:https://xzo.com.cn/develop/empire/831.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国cms后台DoTimeRepage.php一直刷新写满日志了怎么办?
帝国cms后台DoTimeRepage.php一直刷新写满日志了怎么办?

如果平时喜欢挂着帝国cms网站后台不关闭,又留心了网站日志的朋友就会发现DoT...

1 678
帝国cms封装自定义函数实现用户发布数统计
帝国cms封装自定义函数实现用户发布数统计

在帝国cms会员开发的过程中,我们经常需要展示用户文章发布数统计。如果每次...

1 381
帝国cms默认首页index.html被收录了怎样做重定向?
帝国cms默认首页index.html被收录了怎样做重定向?

今天有客户联系鸥哥,说网站默认首页index.html被收录了。这本是好事,奈何网站...

0 585
帝国cms开发json数据接口调用栏目信息
帝国cms开发json数据接口调用栏目信息

json数据由于其高效、强兼容性的特质受到许多开发者的青睐,帝国cms开发一个...

0 616
帝国cms动态页、静态页、伪静态页有什么区别?
帝国cms动态页、静态页、伪静态页有什么区别?

我们知道,帝国cms既可以做动态页,也可以做静态页,还可以做伪静态页。那么,他们...

0 570
帝国cms自定义页面为什么无法调用描述和关键词?
帝国cms自定义页面为什么无法调用描述和关键词?

帝国cms自定义页面常用于制作一些相对简单的页面,但如果注意过页面tdk,会发现...

0 433
360蜘蛛抓取帝国cms后台目录威胁网站安全
360蜘蛛抓取帝国cms后台目录威胁网站安全

使用360极速浏览器已经很长时间,一直感觉用起来相当不错。一方面有chrome的...

0 608
帝国cms怎样修改系统模型ID
帝国cms怎样修改系统模型ID

帝国cms默认是不允许修改系统模型ID的,因为一旦修改牵扯较大。那么,如果一定...

0 832
推荐插件
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 984
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 508
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 485
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1348
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 1115
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1345
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 606
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 450
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入