phpcms 完美實現 導航欄當前欄目高亮


我們在用phpcms做網站的時候,經常碰到導航欄高亮功能,或者側欄高亮,這個會涉及到幾個問題:
1.欄目列表頁子欄目高亮判斷,如果當前頁面為子欄目,他的頂級欄目如果在導航欄也要高亮。
2.內容頁高亮,這個phpcms一般沒有問題。
3.單頁高亮判斷。
主要問題就在這里,一般我們直接用$top_parentid參數來判斷就可以。但是由於phpcms的設計問題,單頁沒有$top_parentid參數,如果單頁為多級單頁,那么這個辦法就行不通了。
如何解決?
其實也比較簡單,就是多加幾個判斷,由於單頁有個$parentid參數,那么我們就可以以此來判斷。
以下為參考代碼:
導航欄帶子導航菜單並且高亮
{pc:content action="category" catid="0" num="15" siteid="$siteid" order="listorder ASC"}
  {loop $data $r}
       <li class="nav_master{if $top_parentid == $r[catid]||$catid==$r[catid]||$parentid==$r[catid]} current{/if}">
           <a class="nav_master_a" href="{$r[url]}">{$r[catname]}</a>
           {pc:content action="category" catid="$r[catid]" num="25" siteid="$siteid" order="listorder asc" return="da"}
            {if $da}
              <ul class="nav_sub">           
                  <li>
                {loop $da $v}
                  <a href="{$v[url]}">{$v[catname]}</a>
                {/loop}
                </li>         
                  </ul>
            {/if}     
        </pc>    
     </li>  
  </loop>
{/pc}
 
 當然這個屬於普遍通用的,對於特殊情況可能仍有一些bug,比如單頁為3級以上的,那么這個可能失效了,
但是對於一般的網站夠用了,而且這個的好處是不用修改phpcms的程序了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM