PHPCMS默认首页给出的循环代码只能显示一级栏目内容,如果一个栏目下仍有多个子栏目,如何在首页调用这些栏目的内容呢?其实在默认模板的category.html页面中就有可以借鉴的地方,代码如下:
{php $j=1;} {loop subcat($catid) $v} {php if($v['type']!=0) continue;} <div class="box cat-area" {if $j%2==1}style="margin-right:10px"{/if}> <h5 class="title-1">{$v[catname]}<a href="{$v[url]}" class="more">更多>></a></h5> <div class="content"> {pc:content action="lists" catid="$v[catid]" thumb="1" num="1" order="id DESC"} <p> {loop $data $v} <a href="{$v[url]}" target="_blank"><img src="{thumb($v[thumb],70,60)}" width="70" height="60"/></a> <strong><a href="{$v[url]}" target="_blank" title="{$v[title]}"{title_style($v[style])}>{str_cut($v[title], 30)}</a></strong><br />{str_cut($v[description],116,'..')} {/loop} </p> {/pc} <div class="bk15 hr"></div> <ul class="list lh24 f14"> {pc:content action="lists" catid="$v[catid]" num="5" order="id DESC"} {loop $data $v} <li><a href="{$v[url]}" target="_blank"{title_style($v[style])}>{$v[title]}</a></li> {/loop} {/pc} </ul> </div> </div> {if $j%2==0}<div class="bk10"></div>{/if} {$j++} {/loop}
里面关键的代码是代码第二行的$catid,在首页调用的时候,如果需要指定栏目,则只需将$catid换成指定栏目的id即可,如换成8,则会调用catid为8的栏目所有子栏目的内容。效果如下图: