如何獲取織夢cms當前欄目的頂級欄目名稱
發(fā)布時間:2018-09-13 15:59:26 作者:佚名
我要評論

這篇文章主要介紹了 如何獲取織夢cms當前欄目的頂級欄目名稱,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
在用織夢做一些項目時,時常會碰到需要在當前頁面調用頂級欄目名稱的時候,織夢默認{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 gsh_arctype WHERE id= $id"); if ($row['reid'] == '0') { return $row['typename']; } else { $row2 = $dsql->GetOne("SELECT typename FROM gsh_arctype WHERE id= $row[reid]"); return $row2['typename']; } }
然后在任意列表頁、內容頁需要調用名稱的地方加入:
{dede:field.typeid fuction="GetToypename(@me)"/}
如果在dede標簽里面,就用下面這句調用:
[field:typeid fuction="GetToypename(@me)"/]
上面這個方法是調用欄目的二級欄目名稱,如果需要頂級欄目名稱,只要將SQL里面的reid字段改成topid就可以了。另外記得將gsh_arctype前綴改成你數據庫的前綴。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
- 我們在使用做一些網站的時候,時常會碰到需要調用當前欄目的頂級欄目名稱的時候,織夢默認{dede:field name='typename' /} 可以獲取當前欄目頁上一級欄目的名稱,而不是當2013-06-15
- 這篇文章主要介紹了詳解織夢調用當前頂級欄目名稱、ID、url方法的相關資料,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-17