DEDECMS文章页、栏目页获取当前页面顶级栏目名称的方法
dedeCMS教程
2014-08-24 13:19:01
644
织梦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_arctype这个表的前缀改为自己当前数据表前缀,列如www_xuejiqiao_arctype
二:在文章页或者栏目列表页调用时,在所要调用 名称的位置加上下面这行代码即可实现。
{dede:field name='typeid' function="GetTopTypename(@me)" /}
在文章页中用下面这个方法来调用
{dede:field name='typeid' function="GetTopTypename(@me) /}