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 相关文章推荐
十天学会php之第六天
Oct 09 PHP
php 用sock技术发送邮件的函数
Jul 21 PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
PHP实现的XML操作类【XML Library】
Dec 29 PHP
PHP读取XML格式文件的方法总结
Feb 27 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
PHP如何防止用户重复提交表单
Dec 09 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
php foreach正序倒序输出示例代码
2014/07/01 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
详解vue 组件
2020/06/11 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
Python configparser模块操作代码实例
2020/06/08 Python
python与js主要区别点总结
2020/09/13 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
演讲稿怎么写才完美
2014/01/02 职场文书
电钳专业个人求职信
2014/01/04 职场文书
银行求职信怎么写
2014/05/26 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
Redis+AOP+自定义注解实现限流
2022/06/28 Redis