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 相关文章推荐
php4的session功能评述(二)
Oct 09 PHP
PHP 选项及相关信息函数库
Dec 04 PHP
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
一篇入门的php Class 文章
Apr 04 PHP
php session应用实例 登录验证
Mar 16 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
PHP文件读写操作相关函数总结
Nov 18 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
JS 表单验证大全
2011/11/23 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
Seajs的学习笔记
2014/03/04 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
JSONP跨域请求
2017/03/02 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Django 重写用户模型的实现
2019/07/29 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
财务管理专业自荐信范文
2013/12/24 职场文书
护士实习自荐信
2015/03/06 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
陪护人员误工证明
2015/06/24 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python
css弧边选项卡的项目实践
2023/05/07 HTML / CSS