• 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,等于则表示没有子栏目,不等于则表示有子栏目且显示子栏目

  • 相关阅读:
    Linux内核中的信号机制--一个简单的例子【转】
    国际C语言混乱代码大赛代码赏析(一)【转】
    宏内核与微内核【转】
    Linux内核USB驱动【转】
    USB驱动开发大全【转】
    Linux驱动程序学习【转】
    GPIO口及中断API函数【转】
    Linux的fasync驱动异步通知详解【转】
    request_irq() | 注册中断服务函数【转】
    混杂设备动态次设备号分析【转】
  • 原文地址:https://www.cnblogs.com/itsuibi/p/5979966.html
Copyright © 2020-2023  润新知