PHPCMS V9 添加二级导航的思路详解


Posted in PHP onOctober 20, 2016

今天看了看phpcms 写到二级导航时发现点问题,查询导航栏的信息时返回的$r[arrchildid]与自己想象的不符,文档上说是返回子栏目id但是却有些不同。

开始的思路:

<ul class="nav navbar-nav">
<li class="active"><a href="{siteurl($siteid)}">首页</a></li>
{pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
{if $r[arrchildid]}
<li class="dropdown">
<a href="{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}<b class="caret"></b></a>
<ul class="dropdown-menu">
{pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
{loop $data2 $v}
<li><a href="{$v[url]}">{$v[catname]}</a></li>
{/loop}
{/pc}
</ul> 
</li>
{/if}
{/loop}
{/pc}
</ul>

大致思路:查询该文档下是否有子栏目id,如果有则输出二级导航。代码中第5行是检测该栏目下是否有子栏目id,但是我发现当没有子栏目时会返回当前栏目的id导致判断无法达到预期的效果,所以改变思路,代码如下:

<ul class="nav navbar-nav">
<li class="active"><a href="{siteurl($siteid)}">首页</a></li>
{pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
{if $r[arrchildid] != $r[catid]}
<li class="dropdown">
<a href="{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}<b class="caret"></b></a>
<ul class="dropdown-menu">
{pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
{loop $data2 $v}
<li><a href="{$v[url]}">{$v[catname]}</a></li>
{/loop}
{/pc}
</ul> 
</li>
{else}
<li><a href="{$r[url]}">{$r[catname]}</a></li>
{/if}
{/loop}
{/pc}
</ul>

判断获取到的子栏目id是否等于该栏目id,等于则表示没有子栏目,不等于则表示有子栏目且显示子栏目

以上所述是小编给大家介绍的PHPCMS V9 添加二级导航的思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
php实现计数器方法小结
Jan 05 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
CI框架使用composer安装的依赖包步骤与方法分析
Nov 21 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
php正则表达式使用方法整理集合
Jan 31 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 PHP
php实现登陆模块功能示例
Oct 20 #PHP
php实现文章置顶功能的方法
Oct 20 #PHP
PHP上传图片时判断上传文件是否为可用图片的方法
Oct 20 #PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 #PHP
php禁用cookie后session设置方法分析
Oct 19 #PHP
php无限级分类实现方法分析
Oct 19 #PHP
php简单截取字符串代码示例
Oct 19 #PHP
You might like
ASP知识讲座四
2006/10/09 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
PHP实现图片压缩
2020/09/09 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
JavaScript如何操作css
2020/10/24 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
vue 递归组件的简单使用示例
2021/01/14 Vue.js
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python文字转语音的实例代码分析
2019/11/12 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
python实现人像动漫化的示例代码
2020/05/17 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
开学典礼策划方案
2014/05/28 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
演讲开场白和结束语
2015/05/29 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
如何有效防止sql注入的方法
2021/05/25 SQL Server
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android