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文件打开、关闭、写入的判断与执行代码
May 24 PHP
php在文件指定行中写入代码的方法
May 23 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
php函数与传递参数实例分析
Nov 15 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
windows下apache搭建php开发环境
Aug 27 PHP
CI框架实现优化文件上传及多文件上传的方法
Jan 04 PHP
yii2安装详细流程
May 23 PHP
PHP getDocNamespaces()函数讲解
Feb 03 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
Apr 06 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
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
php连接mysql数据库代码
2009/03/10 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
Python import自定义模块方法
2015/02/12 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
法定代表人授权委托书范文
2014/09/22 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
法人身份证明书
2014/10/08 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
公司处罚决定书
2015/06/24 职场文书
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL