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

开始的思路:

 1  <ul class="nav navbar-nav">
 2     <li class="active"><a href="{siteurl($siteid)}">首页</a></li>
 3        {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
 4           {loop $data $r}
 5           {if $r[arrchildid]}
 6             <li class="dropdown">
 7               <a href="{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}<b class="caret"></b></a>
 8                  <ul class="dropdown-menu">
 9                   {pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
10                     {loop $data2 $v}
11                       <li><a href="{$v[url]}">{$v[catname]}</a></li>
12                     {/loop}
13                   {/pc}
14                  </ul>
15             </li>
18           {/if}
19         {/loop}
20      {/pc}
21 </ul>

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

 1  <ul class="nav navbar-nav">
 2     <li class="active"><a href="{siteurl($siteid)}">首页</a></li>
 3       {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
 4          {loop $data $r}
 5            {if $r[arrchildid] != $r[catid]}
 6              <li class="dropdown">
 7                <a href="{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}<b class="caret"></b></a>
 8                  <ul class="dropdown-menu">
 9                     {pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
10                       {loop $data2 $v}
11                         <li><a href="{$v[url]}">{$v[catname]}</a></li>
12                       {/loop}
13                      {/pc}
14                   </ul>
15               </li>
16            {else}
17               <li><a href="{$r[url]}">{$r[catname]}</a></li>
18            {/if}
19         {/loop}
20       {/pc}
21 </ul>

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

转载于:https://www.cnblogs.com/itsuibi/p/5979966.html

PHPCMS V9 添加二级导航相关推荐

  1. php静态地图api,Phpcms V9添加网站地图Sitemap静态地图方法(一)

    很多时候,我们往往希望在网站上添加一个网站地图,一方面是方便客户了解网站的布局架构,一方面是方便搜索引擎蜘蛛的抓取,那么用Phpcms V9这个程序作为企业的企业管理后台,怎么制作网站地图Sitema ...

  2. 手机网站php模板修改,Phpcms V9自定义手机WAP模板新方法

    近来越来越多手机WAP.自适应网站,可见移动网页是未来,响应式是未来!但是在实际经验中,CMSYOU发现:响应式自适应虽然在国外非常流行了.大家都在追随,不过在国内,由于XP上ie6.IE8,带宽等问 ...

  3. phpcms v9 之session配置

    今天在用phpcms v9添加一个新模块时,发现一个很奇怪的问题,就是在同一个模块操作内,各方法(页面)之间的session居然不起作用,就是$_SESSION数组不能传值.还以为是服务器没有开启se ...

  4. phpcms v9 为分类和内容添加伪静态

    大家在使用phpcms v9的时候可能想用伪静态来美化url,但是可能程序自身的可能无法满足,在这里我列出了2种方法,还有更高级的以后有机会再告诉大家 1.不改变程序下的方法 优点就是部署快速,缺点就 ...

  5. phpcms v9 后台添加修改页面空白页问题解决方法

    phpcms v9 后台添加修改页面空白页问题解决方法 参考文章: (1)phpcms v9 后台添加修改页面空白页问题解决方法 (2)https://www.cnblogs.com/thinking ...

  6. php v9 分页静态,phpcms v9 为分类和内容添加伪静态

    大家在使用phpcms v9的时候可能想用伪静态来美化url,但是可能程序自身的可能无法满足,在这里我列出了2种方法,还有更高级的以后有机会再告诉大家 1.不改变程序下的方法 优点就是部署快速,缺点就 ...

  7. Phpcms V9手机门户设置教程:怎么用PC V9做手机网站

    一.在PHPcms V9管理后台设置手机门户 1.1.开启手机网站.位置:模块 >手机门户 > 添加手机站点,具体设置可参照截图: 填写站点名和LOGO文件相对位置,绑定用于手机网站的二级 ...

  8. phpcms v9 实现外部栏目链接在新窗口打开

        phpcms v9 栏目导航的外部链接默认在本地窗口打开,要实现外部链接在新窗口打开,可以修改模板文件heard.html,在a标签内添加一个if函数.     例如: <div cla ...

  9. phpcms V9 栏目管理

    关于phpcms V9框架系统后台管理之栏目管理,请参见下文的源码分析(添加栏目和修改栏目): 参照添加栏目的界面图示,便于对源代码的理解: 1 <?php 2 3 // 文件路径:phpcms ...

最新文章

  1. mysql创建表语句 引擎、编码和字符集设置
  2. oracle两表同步java代码,利用DBLink+JOB实现两个Oracle数据库之间的数据同步
  3. CV之YOLOv3:深度学习之计算机视觉神经网络Yolov3-5clessses训练自己的数据集全程记录
  4. Cmake的CMakeLists.txt写法示例
  5. Yet another nio framework for java
  6. mysql scrapy 重复数据_scrapy关于将数据保存进mysql数据库及问题解决(增删查改)
  7. Java 堆内存是线程共享的!面试官:你确定吗?
  8. CleanWipe:无需密码彻底卸载Symantec(赛门铁克)
  9. PackageManager.hasSystemFeature Android SystemServer裁剪
  10. 标准误和标准差及CV值
  11. 快捷键,photoshop常用快捷键大全
  12. 【Matlab】使用反步法设计控制器
  13. 向大家推荐Ubuntu下九大最佳绘图程序
  14. CSS 网页弹出微信二维码
  15. HTML+CSS期末大作业:动漫网站设计——悬崖上的金鱼姬(5页) / 动漫网页设计作业,网页设计作业 / 动漫网页设计成品 学生DW网页设计作业成品 web课程设计网页规划与设计...
  16. 宣化科技职业学院计算机网络技术,职业技术学校专业建设-宣化科技职业技术学院-计算机网络技术.doc...
  17. 内网 centos7 离线安装rpm包的三种方法
  18. 声音侦测灵敏度、阈值、分贝的关系
  19. Kafka的消息模型
  20. linux 快速启动应用程序(alias使用)

热门文章

  1. android程序安装后图标不显示
  2. 准确判断他人忠诚度的有效办法
  3. 如家快捷酒店和星级酒店的区别
  4. docker操作大全
  5. disconf 中文乱码
  6. 痞子衡嵌入式:常用的数据差错控制技术(2)- 奇偶校验(Parity Check)
  7. Android报错——connect failed: EHOSTUNREACH (No route to host)
  8. ADO.NET—数据提供程序(连接类)
  9. ios4 向 ios5 迁移短信的方式
  10. 解读MySQL事务的隔离级别和日志登记模式选择技巧