实现效果:
我们知道使用pc标签模型设为content属性action设为category可以调用指定父级id的栏目数据,那么当我们要多次循环获得多级栏目的调用方法如下:
在这个代码里边,我把外部的的DIV标签页带上了,这是完整的代码,为了更好的定义CSS,如果只是调用数据,那么只要{pc}语句中间的部分就好了。
<div id="navbar">
<div id="navbarcontent">
<div id="menu">
<ul id="menuul">
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC" return="pdata"}
<li><a href="http://www.sdfangyuan.cn/"><span>网站首页</span></a></li>
{loop $pdata $k $v}
<li>
<a href="{$v[url]}"><span>{$v[catname]}</span></a>
<!-- 子栏目内容 开始 -->
{pc:content action="category" catid="$k" num="10" siteid="$siteid" order="listorder ASC" return="cdata"}
<!-- 使用return属性来设置不同数据存放的变量名以免冲突 -->
<ul class="sub_mune_ul" style="display: none; ">
{loop $cdata $r}
<li><a href="{$r[url]}">{$r[catname]}</a></li>
{/loop}
</ul>
{/pc}
<!-- 子栏目内容 结束 -->
</li>
{/loop}
{/pc}
</ul>
</div>
</div>
</div>
从标签套用中我们可以看出,子集栏目调用时指定的其父级id及catid属性值便是外层loop d a t a 数 组 的 键 名 data数组的键名 data数组的键名k。同理,可以无限向里套用而实现更多层的调用。