zoukankan      html  css  js  c++  java
  • 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的程序了。
  • 相关阅读:
    OpenWrt 上安装 AdGuard Home
    java网络编程
    如何进行数据库选型
    银行业务中台
    数仓|大数据时代,维度建模过时了吗?
    spqrk相关
    Apache Doris在美团外卖数仓中的应用实践
    hadoop的简单规划
    数据中台建设
    银行数仓分层
  • 原文地址:https://www.cnblogs.com/qhorse/p/5018721.html
Copyright © 2011-2022 走看看