在之前的Phpcms V9类别数据调用技巧及类别优化中,谈到了一些关于Phpcms V9类别调用的技巧,在这里,CMSYOU再举一反三:怎么使用GET语句调用子栏目列表、同级栏目列表?
大家都知道,PC V9默认调用栏目列表的调用语句:
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}<ul class="nav-site"><li><a href="{siteurl($siteid)}"><span>棣栭〉</span></a></li>{loop $data $r}<li class="line">|</li><li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li>{/loop}</ul>{/pc}{php echo runhook('glogal_menu')}
那么使用GET语句,怎么做到自定义调用呢?
1、获得父目录id后列出所有子目录:
{pc:get sql="SELECT * FROM cmsyou_category where catid in($arrchildid)}
<ul class="list">{loop $data $r}<li><a href="{$r[url]}" title="{$r[catname]}">{$r[catname]}</a></li>{/loop}
</ul>{/pc}
由于GET需要指定数据库,那么需要根据实际情况更换表头,在具体调用中,你完全可以指定父级栏目,使用GET调用制定栏目下的子栏目列表。
2、获取子目录id后列出所有同父目录下的同级目录:
{php $arrchildid = $CATEGORYS[$CAT[parentid]][arrchildid]}{pc:get sql="SELECT * FROM cmsyou_category where catid in($arrchildid)}<ul class="list">
{loop $data $r}<li><a href="{$r[url]}" title="{$r[catname]}">{$r[catname]}</a></div>{/loop}
</ul>{/pc}
这个就和单页面模板page.html里边调用同级目录的功能一样:
{loop $arrchild_arr $cid}<li{if $catid==$cid} class="cur"{/if}><a href="{$CATEGORYS[$cid][url]}">{$CATEGORYS[$cid][catname]}</a></li>{/loop}
不过范围更扩大了,不仅仅限于Page类型!
关于子栏目的数据循环,大家不妨看看之前的分享:Phpcms V9子栏目数据循环的调用技巧。
更多调用方式,欢迎大家前来一起探讨!同时欢迎大家收听CMSYOU官方微博,相互探讨Phpcms!看完文章有触动,那就在下面评论留言吧!
点击加载更多