PHPCMS V9 新增二級導航

高洛峰
發布: 2016-10-20 11:40:22
原創
1283 人瀏覽過

今天看了看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,等於則表示沒有子欄目,不等於則表示有子欄位且顯示子欄位

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!