dedecms二級欄目分類使用channelartlist標籤實現當前欄目高亮

科技小能手發表於2017-11-12

在dedecms二級欄目分類,使用channelartlist標籤實現當前欄目高亮,估計你沒試過!不過開發的時候需要了,也就記下來分享給大家!

使用channel也可以,但是我們需要dede二級欄目下拉的時候就要用到這個了,呵呵,使用還是非常簡單的

修改一個channelartlist類就可以了

下面介紹如何使用channelartlist標籤實現當前欄目高亮


1.首先找到“include aglibchannelartlist.lib.php”檔案,開啟

2.搜尋程式碼 ”  $pv = new PartView($typeids[$i][`id`]);  ” 大概了92行,看你的版本了

3.在$pv = new PartView($typeids[$i][`id`]); 下面增加入以下程式碼:

1
2
3
4
5
6
7
//php指令碼開始
         if($typeids[$i][`id`] == $refObj->TypeLink->TypeInfos[`id`]){ 
             $pv->Fields[`currentstyle`] = ` class="m_hover"`//輸出當前欄目樣式
         
         else
             $pv->Fields[`currentstyle`] = ``
          }

4.到這裡基本完成,我們在模板上新增程式碼就OK,DEDE二級欄目模版程式碼也分享給大家!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//html指令碼開始
{dede:channelartlist row=6 typeid=`top`}
<li><a href="{dede:field name=`typeurl`/}" class="nav{dede:field name=`currentstyle`/}"><ins>{dede:field name=`typename`/}</ins></a>
{dede:field name=`id` runphp=`yes`}
global $dsql;
$sql = "Select typedir,typename from dede_arctype where reid=".@me." order by sortrank limit 0,5";
$dsql->SetQuery($sql);//將SQL查詢語句格式化
$dsql->Execute();//執行SQL操作
$ns = $dsql->GetTotalRow();
if($ns>0){
//通過迴圈輸出執行查詢中的結果
$xinfo=`<ul>`;
while($row = $dsql->GetArray()){
$xinfo.=`<li><a href="`.str_replace(`{cmspath}`,``,$row[`typedir`]).`">`.$row[`typename`].`</a></li>`;
}
$xinfo.=`</ul>`;
@me=$xinfo;
}else{@me=``;}
{/dede:field}
</li>
{/dede:channelartlist}
</ul>

dede channelartlist標籤實現當前欄目高亮完成了,如果要下拉,加上CSS和JS 就完成啦!

本文轉自 gutaotao1989 51CTO部落格,原文連結:http://blog.51cto.com/taoyouth/1765417


相關文章