織夢dedecms獲取當(dāng)前欄目路徑及欄目名稱的方法

字號:


    這篇文章主要介紹了織夢dedecms獲取當(dāng)前欄目路徑及欄目名稱的方法,需要的朋友可以參考下
    標(biāo)簽如下:
    當(dāng)前:
    代碼如下:
    {dede:type}
    <a href=" [field:typelink /] "> [field:typename/] </a>
    {/dede:type}
    因為{dede:field  name='arcurl'/} 這個獲取當(dāng)前頁面路徑的標(biāo)簽只能在內(nèi)容頁使用,欄目頁沒有效果的。所以在欄目頁想獲取當(dāng)前欄目的路徑及名稱的話,就要用上面這個標(biāo)簽。 
    而獲取網(wǎng)站所有欄目名稱及路徑列表的話,就要用到另一個標(biāo)簽: {dede:channel},調(diào)用方式如下:
    所有欄目
    代碼如下:
    <ul>
    {dede:channel type='top' row='11'}
    <li><a href='[field:typelink/]'>[field:typename/]</a></li>
    {/dede:channel}
    </ul>
    織夢dedeCMS網(wǎng)站欄目頁獲取當(dāng)前欄目的頂級欄目名稱的標(biāo)簽教程: 
    我們在使用做一些網(wǎng)站的時候,時常會碰到需要調(diào)用當(dāng)前欄目的頂級欄目名稱的時候,織夢默認(rèn){dede:field name='typename' /}  可以獲取當(dāng)前欄目頁上一級欄目的名稱,而不是當(dāng)前欄目頂級欄目名稱。 
    下面拓展出一個方法來實現(xiàn)這個效果、: 
    在include/common.func.php的最下方加入: 
    內(nèi)容來自
    頂級欄目名
    代碼如下:
    function GetTopTypename($id)
    {
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM jiemou_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
    return $row['typename'];
    }
    else
    {
    $row1 = $dsql->GetOne("SELECT typename FROM jiemou_arctype WHERE id= $row[topid]");
    return $row1['typename'];
    }
    }
    在文章頁或者欄目列表頁調(diào)用時,在所要調(diào)用欄目名稱的位置加上下面這行代碼即可實現(xiàn)。 內(nèi)容來自 
    {dede:field name='typeid' function="GetTopTypename(@me)" /} 內(nèi)容來自 
    在文章頁中用下面這個方法來調(diào)用 
    獲取當(dāng)前欄目的父欄目
    寫成一個函數(shù)放入include/extend.func.php文件中
    代碼如下:
    function GetParentCategoryNameByID($CurrentID){
    $tsql = new DedeSql(false); 
    $typelink2 = '';
    $tsql->SetQuery("Select i.typedir,i.typename From zz5unet_arctype t left join zz5unet_arctype i on i.id=t.reid where t.id='$CurrentID'");
    $tsql->Execute('t'); 
    while($row = $tsql->GetArray('t',MYSQL_ASSOC)) 
    {
    $typelink2 .= $row['typename']; 
    }
    return $typelink2;
    }
    調(diào)用方法:{dede:field name='id' function='GetParentCategoryNameByID(@me)' /}