Maison  >  Article  >  développement back-end  >  PHPCMS V9 添加二级导航

PHPCMS V9 添加二级导航

高洛峰
高洛峰original
2016-10-20 11:40:221255parcourir

今天看了看phpcms 写到二级导航时发现点问题,查询导航栏的信息时返回的$r[arrchildid]与自己想象的不符,文档上说是返回子栏目id但是却有些不同。

开始的思路:

    首页       {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
          {loop $data $r}
          {if $r[arrchildid]}
                          {$r[catname]}                                   {pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
                    {loop $data2 $v}
                      {$v[catname]}                    {/loop}
                  {/pc}
                   
                      {/if}
        {/loop}
     {/pc}

大致思路:查询该文档下是否有子栏目id,如果有则输出二级导航。代码中第5行是检测该栏目下是否有子栏目id,但是我发现当没有子栏目时会返回当前栏目的id导致判断无法达到预期的效果,所以改变思路,代码如下:

    首页      {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
         {loop $data $r}
           {if $r[arrchildid] != $r[catid]}
                            {$r[catname]}                                     {pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
                      {loop $data2 $v}
                        {$v[catname]}                      {/loop}
                     {/pc}
                    
                         {else}
              {$r[catname]}           {/if}
        {/loop}
      {/pc}

判断获取到的子栏目id是否等于该栏目id,等于则表示没有子栏目,不等于则表示有子栏目且显示子栏目

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn