織夢一二級導航菜單被點擊頂級欄目高亮(加class)解決方法


織夢一二級導航菜單被點擊的欄目高亮顯示方法詳解,廢話不多說直接舉例說明:

織夢一級菜單被點擊欄目高亮調用方法:
{dede:channel typeid ='1'  type ='son' currentstyle="<li class='on'><a href='~typelink~'>~typename~</a></li>"}
<li><a href='[field:typeurl/]'>[field:typename/]</a></li>
{/dede:channel}
*注:對當前欄目列表設置了class='on',可以通過css樣式為其設置背景圖片或顏色,從而達到欄目高亮的效果。
首頁判斷是否添加class 調用方法:
網站首頁的位置把class的屬性直接在dede判斷.如果本身有多個class樣式.本來的除了on以外.都不能刪.繼續保留
 <li><a {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='on'":@me="";{/dede:field} href="{dede:global.cfg_basehost/}">網站首頁</a></li>
*注:首頁判斷是否添加class='on'屬性
織夢二級菜單被點擊欄目高亮調用方法:
       第一步:因為織夢默認dede:channelartlist標簽是不支持currentstyle屬性的,所以接加下先修改channelartlist.lib.php
               1:打開include\taglib\channelartlist.lib.php,找到$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
               2:替換成如圖所示:
                      $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
                      if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){  
                         $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'navOn';  
                          }  
                        else{  
                        $pv->Fields['currentstyle'] = '';  
                         }  

 

    第二步:前台調用:
     {dede:channelartlist typeid='top' currentstyle='on' } 

           <li><a  class="{dede:field.currentstyle/}" href="{dede:field name='none'/}" >{dede:field name='typename'/}</a>
              <ul>{dede:channel type='son' noself='yes'}    
                 <li><a href="[field:typelink/]" >[field:typename/]</a></li>
               {/dede:channel}
              </ul>
           </li>
      {/dede:channelartlist} 
*注:生成欄目,循環出的頂級欄目li會有一個class=“on”的屬性。頁面效果如圖所示:


免責聲明!

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



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