今天看了看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,等於則表示沒有子欄目,不等於則表示有子欄位且顯示子欄位
以上所述是小編給大家介紹的PHPCMS V9 新增二級導航的想法詳解,希望對大家有幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章:
怎麼對PHPCMS V9的title標題進行SEO設定
phpcms v9二次開發及使用中各種問題解決方案
PHPCMS V9二次開發自訂分頁函數的方法