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 相关文章推荐
PHP5中使用DOM控制XML实现代码
May 07 PHP
PHP实现多图片上传类实例
Jul 26 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
php格式化电话号码的方法
Apr 24 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
PHP文件上传处理案例分析
Oct 15 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
分析php://output和php://stdout的区别
May 06 PHP
python进程与线程小结实例分析
Nov 11 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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中JSON数据操作
2015/07/01 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
2016/12/18 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
python生成器的使用方法
2013/11/21 Python
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
Python实现的选择排序算法示例
2017/11/29 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
python程序控制NAO机器人行走
2019/04/29 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
绩效工资实施方案
2014/03/15 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers