News新闻

业界新闻动态、技术前沿
Who are we?

您的位置:首页      企业管理      让Phpcms 单页左栏只显示同级栏目的办法

让Phpcms 单页左栏只显示同级栏目的办法

发布日期:2017-03-03 00:00:00 638

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}