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

    xiaoxiao2021-03-25  114

    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}

    文章出处:让Phpcms 单页左栏只显示同级栏目的办法 

    转载请注明原文地址: https://ju.6miu.com/read-9639.html

    最新回复(0)