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

打开include/helpers/extend.helper.php,添加一个函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  //做啦模板收集资源
    /**
     *  获取指定栏目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,添加一个函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//做啦模板收集资源
    /**
     *  获取指定栏目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)'/}