zoukankan      html  css  js  c++  java
  • PHPCMS V9 添加二级导航

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

    开始的思路:

     1  <ul class="nav navbar-nav">
     2     <li class="active"><a href="{siteurl($siteid)}">首页</a></li>
     3        {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
     4           {loop $data $r}
     5           {if $r[arrchildid]}
     6             <li class="dropdown">
     7               <a href="{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}<b class="caret"></b></a>
     8                  <ul class="dropdown-menu">
     9                   {pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
    10                     {loop $data2 $v}
    11                       <li><a href="{$v[url]}">{$v[catname]}</a></li>
    12                     {/loop}
    13                   {/pc}
    14                  </ul>  
    15             </li>
    18           {/if}
    19         {/loop}
    20      {/pc}
    21 </ul>

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

     1  <ul class="nav navbar-nav">
     2     <li class="active"><a href="{siteurl($siteid)}">首页</a></li>
     3       {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
     4          {loop $data $r}
     5            {if $r[arrchildid] != $r[catid]}
     6              <li class="dropdown">
     7                <a href="{$r[url]}" class="dropdown-toggle" child="{$r[arrchildid]}" data-toggle="dropdown">{$r[catname]}<b class="caret"></b></a>
     8                  <ul class="dropdown-menu">
     9                     {pc:content action="category" catid="$r[catid]" num="10" siteid="$siteid" order="listorder ASC" return="data2"}
    10                       {loop $data2 $v}
    11                         <li><a href="{$v[url]}">{$v[catname]}</a></li>
    12                       {/loop}
    13                      {/pc}
    14                   </ul>  
    15               </li>
    16            {else}
    17               <li><a href="{$r[url]}">{$r[catname]}</a></li>
    18            {/if}
    19         {/loop}
    20       {/pc}
    21 </ul>

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

  • 相关阅读:
    [Luogu P3626] [APIO2009] 会议中心
    杭电 1869 六度分离 (求每两个节点间的距离)
    杭电 1874 畅通工程续 (求某节点到某节点的最短路径)
    最短路径模板
    杭电 2544 最短路径
    POJ 1287 Networking (最小生成树模板题)
    NYOJ 1875 畅通工程再续 (无节点间距离求最小生成树)
    POJ 2485 Highways (求最小生成树中最大的边)
    杭电 1233 还是畅通工程 (最小生成树)
    杭电 1863 畅通工程 (最小生成树)
  • 原文地址:https://www.cnblogs.com/itsuibi/p/5979966.html
Copyright © 2011-2022 走看看