1. 程式人生 > >織夢dedecms自定義功能函式(4):typeid獲取頂級欄目id和名稱

織夢dedecms自定義功能函式(4):typeid獲取頂級欄目id和名稱

前言

島主整理織夢自定義功能函式之四:通用tpyeid呼叫當前欄目的頂級欄目名稱,頂級欄目id(支援三級深度)。

如:  頂級欄目(id:30)---- 子欄目(id:56)----- 子子欄目(id:89),若當前欄目為 子子欄目,用當前欄目id 89,可以直接呼叫 頂級欄目 的名稱和id:30。

函式程式碼

請將程式碼加入到 http://www.dededao.com/include/extend.func.php 檔案中

//獲取頂級欄目名 
function GetTopTypename($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM #@_ _arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['typename'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT typename FROM #@_ _arctype WHERE id= $row[topid]");
        return $row1['typename'];
    }
}
//獲取頂級欄目id
function GetTopTypeid($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM #@_ _arctype WHERE id= $id");
    if ($row['topid'] == '0')
        return $id;
    else
    {
        $row1 = $dsql->GetOne("SELECT topid FROM #@_ _arctype WHERE id= $row[topid]"); 
	   if ($row1['topid'] == '0')
        return $row[topid];
       $row2 = $dsql->GetOne("SELECT topid FROM #@_ _arctype WHERE id= $row1[topid]");
      if ($row2['topid'] == '0')
        return $row1[topid];
    }
}

前臺呼叫

呼叫頂級欄目id:{dede:field name='typeid' function='GetTopTypeid(@me)'/}
呼叫頂級欄目名稱:{dede:field name='typeid' function='GetTopTypename(@me)'/}