PHPCMS V9 添加二级导航
程序员文章站
2022-04-05 19:52:16
...
今天看了看phpcms 写到二级导航时发现点问题,查询导航栏的信息时返回的$r[arrchildid]与自己想象的不符,文档上说是返回子栏目id但是却有些不同。
开始的思路:
1
- class="nav navbar-nav">
2
- class="active">"{siteurl($siteid)}">首页 3 {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"} 4 {loop $data $r} 5 {if $r[arrchildid]} 6
- class="dropdown">
7 "{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}class="caret">
8
- 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
- "{$v[url]}">{$v[catname]} 12 {/loop} 13 {/pc} 14
18 {/if}
19 {/loop}
20 {/pc}
21
大致思路:查询该文档下是否有子栏目id,如果有则输出二级导航。代码中第5行是检测该栏目下是否有子栏目id,但是我发现当没有子栏目时会返回当前栏目的id导致判断无法达到预期的效果,所以改变思路,代码如下:
1
- class="nav navbar-nav">
2
- class="active">"{siteurl($siteid)}">首页 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
- class="dropdown">
7 "{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}class="caret">
8
- 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
- "{$v[url]}">{$v[catname]} 12 {/loop} 13 {/pc} 14
16 {else}
17 - "{$r[url]}">{$r[catname]} 18 {/if} 19 {/loop} 20 {/pc} 21
判断获取到的子栏目id是否等于该栏目id,等于则表示没有子栏目,不等于则表示有子栏目且显示子栏目
上一篇: 如何运用PHP Ajax实现图片的无刷新上传_PHP教程
下一篇: php创建桌面快捷方式的方法