导航首页 » 网站优化

dedecms织梦子栏目获取顶级栏目名称及链接url方法

2023/03/11 12:22    魔司收录网    已浏览160次

打开include/helpers/extend.helper.php,添加一个函数:
   
  //模板收集资源
    /**
     *  获取指定栏目id的顶级栏目的名称
     *
     * @return     string
     */
    if ( ! function_exists('getTopChannelName'))
    {
    function getTopChannelName($id) {
       global $dsql;
            $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
            if($typeinfo['reid']==0) return $typeinfo['typename'];
            else return getTopChannelName($typeinfo['reid']);
    }
    }

在列表页这么使用:{dede:field name='id' function='getTopChannelName(@me)'/}

在内容页这么使用:{dede:field name='typeid' function='getTopChannelName(@me)'/}

附带获取顶级栏目的url:

打开include/helpers/extend.helper.php,添加一个函数:
   
//模板收集资源
    /**
     *  获取指定栏目id的顶级栏目的url
     *
     * @return     string
     */
    if ( ! function_exists('getTopChannelUrl'))
    {
    function getTopChannelUrl($id) {
       global $dsql;
            $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
            if($typeinfo['reid']==0) return GetOneTypeUrlA($typeinfo);
            else return getTopChannelUrl($typeinfo['reid']);
    }
    }

在列表页这么使用:{dede:field name='id' function='getTopChannelUrl (@me)'/}

在内容页这么使用:{dede:field name='typeid' function='getTopChannelUrl(@me)'/}