相关关键词
关于我们
最新文章
让Phpcms 单页左栏只显示同级栏目的办法
Phpcms的单页模板是page.html 其左栏显示同级栏目,显示的变量是$arrchild_arr,原始模板显示的左栏代码如下
{loop $arrchild_arr $cid}
<li{if $catid==$cid} class="cur"{/if}><a href="{$CATEGORYS[$cid][url]}">{$CATEGORYS[$cid][catname]}</a></li>
{/loop}
查看其程序代码
$arrchild_arr = $CATEGORYS[$parentid]['arrchildid'];
if($arrchild_arr=='') $arrchild_arr = $CATEGORYS[$catid]['arrchildid'];
$arrchild_arr = explode(',',$arrchild_arr);
array_shift($arrchild_arr);
其展现结果为 显示同级栏目以及同级栏目的子栏目,这样的结果显然不是我们想要的。
本来想改动其程序来实现,后面考虑到系统升级的问题,尽量不改动程序,就在模板里面实现
后来想通过$arrchild_arr 删除非同级栏目数组的形式弄,可以,但是太麻烦,后面就换了个思维,用别的方法实现,直接使用$catid来寻找,系统提供了子栏目的查询函数subcat,在模板里面实现也减少程序升级代码被替换风险。上面的代码,替换为下面的即可;
{loop subcat($CATEGORYS[$catid]['parentid']) $v}
<li{if $v[catid]==$catid} class="cur"{/if}><a href="{$v[url]}">{$v[catname]}</a></li>
{/loop}