织梦dedecms想要调用顶级栏目名称链接和ID完美教程

92建站   2021-05-31   收藏本文

本文介绍了织梦dedecms想要调用顶级栏目名称链接和ID完美的方法,不同的页面有时候为了实现不同的目的,会分别调用栏目名称或者链接,甚至是ID,这些功能在默认的DEDE里面是没有的,需要二次开发,这个教程讲解的就是这些内容。

下面92建站就和大家分享下织梦dedecms想要调用顶级栏目名称链接和ID的实现方案。

实现方案:

1、DEDE调用名称

{dede:field.typeid function="gettoptype(@me,typename)"/} //名称 

2、DEDE调用链接

{dede:field.typeid function="gettoptype(@me,typeurl)"/}//链接 

3、修改include/helpers/extend.helper.php ,末部添加:

/*  获取顶级栏目相关信息
 *
 * @access    public
 * @param     string  $tid  栏目id
 * @param     string  $field栏目字段
 * @return    string
 */
if ( ! function_exists('getToptype'))
{
function getToptype($tid,$field)
{
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 `dede_arctype` WHERE id=$topid");
if($field=='id') return $topid;
if($field=='typename') return $row['typename'];//栏目名称
if($field=='typeurl') return GetOneTypeUrlA($row);//栏目链接
if($field=='typenamedir') return $row['typenamedir'];//栏目英文名称
if($field=='seotitle') return $row['seotitle'];//栏目SEO标题
if($field=='description') return $row['description'];//栏目描述
if($field=='content') return $row['content'];//栏目内容
}
}

这样就可以实现了,是不是很简单啊。

上面就是织梦顶级栏目名称的介绍,若有疑问可以找小编进一步探讨交流~

展开