寫織夢模板的時候經常用到獲取當前欄目名稱和路徑, 用于當前頁面導航,所以總結了一些標簽寫法

標簽如下:
當前:
 
{dede:type}
<a href=" [field:typelink /] "> [field:typename/] </a>
{/dede:type}
因為{dede:field name='arcurl'/} 這個獲取當前頁面路徑的標簽只能在內容頁使用,欄目頁沒有效果的。所以在欄目頁想獲取當前欄目的路徑及名稱的話,就要用上面這個標簽。
 
而獲取網站所有欄目名稱及路徑列表的話,就要用到另一個標簽: {dede:channel},調用方式如下:
所有欄目
 
<ul>
{dede:channel type='top' row='11'}
<li class="navbg"><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
 
織夢dedeCMS網站欄目頁獲取當前欄目的頂級欄目名稱的標簽教程:
 
我們在使用做一些網站的時候,時常會碰到需要調用當前欄目的頂級欄目名稱的時候,織夢默認{dede:field name='typename' /} 可以獲取當前欄目頁上一級欄目的名稱,而不是當前欄目頂級欄目名稱。
 
下面拓展出一個方法來實現這個效果、:
 
在include/common.func.php的最下方加入:
 
內容來自
 
頂級欄目名
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'];
    }
}
 
在文章頁或者欄目列表頁調用時,在所要調用欄目名稱的位置加上下面這行代碼即可實現。 內容來自
 
{dede:field name='typeid' function="GetTopTypename(@me)" /} 內容來自
 
在文章頁中用下面這個方法來調用
 
獲取當前欄目的父欄目
 
寫成一個函數放入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;
 
}
 
調用方法:{dede:field name='id' function='GetParentCategoryNameByID(@me)' /}