使用织梦dedecms系统开发网站的时候,曾经遇到过这样一种需求:站点内部需要获取顶级栏目的id,名称及链接。但是大家都知道织梦默认情况下是不能获取的,这个时候我们就会想到通过二次开发来实现需求,下面361源码给大家分享下基本的开发思路。
修改 include/helpers/extend.helper.php
在结尾加上:
/*** 获取一个类目的顶级栏目* @param string $tid 栏目ID* @return string*/if ( ! function_exists('gettoptype')){function gettoptype($tid,$action){global $dsql,$cfg_Cs;if(!is_array($cfg_Cs)){require_once(DEDEDATA."/cache/inc_catalog_base.inc");}if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0){$topid = $tid;}else{$topid = GetTopid($cfg_Cs[$tid][0]);}$row = $dsql->GetOne("SELECT * FROM `arctype` WHERE id=$topid");$toptypename = $row['typename'];$toptypeurl = $topid;if($action=='id') return $topid;if($action=='name') return $toptypename;if($action=='link') return GetOneTypeUrlA($row);}}
调用代码
{dede:field.typeid function="gettoptype(@me,id)"/} //id
{dede:field.typeid function="gettoptype(@me,name)"/} //名称
{dede:field.typeid function="gettoptype(@me,link)"/} //链接
完成。
以上就是二次开发:dedecms获取顶级栏目的id,名称及链接的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答