做網站,我們是認真的!

網站適配電腦+手機端,僅1280元,送2000M阿里云服務器,送com域名+免費備案
網站前端采用靜態系統顯示,后端動態管理,我們承諾網站包收錄,完成網站之后把源碼給客戶!

觀點

互聯網+時代,說建站,談運營與網絡營銷

dedecms獲取頂級欄目名稱、二級欄目名稱實現方法

時間:2020-12-15

織夢DEDECMS文章、欄目頁獲取當前頁面頂級欄目名稱的方法
 
在用織夢做一些項目時,時常會碰到需要在當前頁面調用頂級欄目名稱的時候,織夢默認{dede:field name='typename' /} 可以獲取當前欄目頁上一級欄目的名稱,而不是當前欄目頂級欄目名稱。
 
下面拓展出一個方法來實現這個效果、:
 
在include/common.func.php的最下方加入:
 
 
 
//獲取頂級欄目名
function GetTopTypename($id)
 {
 global $dsql;
 $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id");
 if ($row['topid'] == '0')
 {
 return $row['typename'];
 }
 else
 {
 $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]");
 return $row1['typename'];
 }
 }
 
在文章頁或者欄目列表頁調用時,在所要調用 名稱的位置加上下面這行代碼即可實現。
 
{dede:field name='typeid' function="GetTopTypename(@me)" /}
 
 
 
在文章頁中用下面這個方法來調用
 
{dede:field name='typeid' function="GetTopTypename(@me) /}
 
===================================
 
dedecms獲取頂級欄目名稱、二級欄目名稱實現方法
 
站長地帶做站的時候碰到一個問題,需要在二級、三級,甚至更多級,獲取頂級欄目或者二級欄目名稱。
 
現在和大家分享下最簡單的實現方法。找到include/common.func.php文件,在里面加入下面這段代碼:
 
 
 
//獲取二級欄目名
function GetTopTypename($id)
 {
 global $dsql;
 $row = $dsql->GetOne("SELECT typename,reid FROM dede_arctype WHERE id= $id");
 if ($row['reid'] == '0')
 {
 return $row['typename'];
 }
 else
 {
 $row2 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[reid]");
 return $row2['typename'];
 }
 }
 
 
 
然后在任意列表頁、內容頁需要調用名稱的地方加入:
 
{dede:field.typeid fuction="GetToypename(@me)"/}
 
如果在dede標簽里面,就用下面這句調用:
 
[field:typeid fuction="GetToypename(@me)"/]
 
www.dede58.com上面這個方法是調用欄目的二級欄目名稱,如果需要頂級欄目名稱,只要將SQL里面的reid字段改成topid就可以了。另外記得將dede_arctype前綴改成你數據庫的前綴。
0
首頁
案例
關于
聯系
凯时平台