www.91084.com

GVKun编程网logo

dedecms获取顶级栏目的id,名称及链接

3

最近很多小伙伴都在问dedecms获取顶级栏目的id,名称及链接这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展dedecms子栏目调用顶级栏目名称与链接、DEDECMS文章、栏目

最近很多小伙伴都在问dedecms获取顶级栏目的id,名称及链接这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展dedecms子栏目调用顶级栏目名称与链接、DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法、dedecms织梦子栏目获取顶级栏目名称及链接url办法、dedecms织梦子栏目获取顶级栏目名称及链接url方法等相关知识,下面开始了哦!

本文目录一览:

dedecms获取顶级栏目的id,名称及链接

dedecms获取顶级栏目的id,名称及链接

 

修改 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_cata日志_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)"/} //链接 

本文章网址:http://www.ppssdd.com/code/13498.html。转载请保留出处,谢谢合作!

dedecms子栏目调用顶级栏目名称与链接

dedecms子栏目调用顶级栏目名称与链接

 

dedecms子列表页面调用优质栏目名称并带链接

 

问题: 

在2级列表页面单独调用该栏目的优质栏目名称! 

办法思路: 

在 

{dede:type} 

<a href=http://www.dede58.com/a/dedejq/"[field:typelink /]">[field:typename /]</a> 

{/dede:type} 

标签的基础上进行修改。 

 

调用办法: 

{dede:type2} 

<a href=http://www.dede58.com/a/dedejq/"[field:typelink /]">[field:typename /]</a> 

{/dede:type2} 

 

新标签放置位置: 

\include\taglib 

本文章网址:http://www.ppssdd.com/code/3702.html。转载请保留出处,谢谢合作!

DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法

DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法

织梦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:field name='typeid' function="GetTopTypename(@me)" /}

在文章页中用下面这个方法来调用

{dede:field name='typeid' function="GetTopTypename(@me) /}


方法二:

修改 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'];//栏目内容
}
}


调用:

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


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

一次类推,怎么写可以观察PHP上面的定义!

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

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

 

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

  //织梦58源码收集资源

    /**

     *  获取指定栏目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

 

//织梦58源码收集资源

    /**

     *  获取指定栏目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)'/}

本文章网址:http://www.ppssdd.com/code/12090.html。转载请保留出处,谢谢合作!

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

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

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

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

@H_301_174@

我们今天的关于dedecms获取顶级栏目的id,名称及链接的分享就到这里,谢谢您的阅读,如果想了解更多关于dedecms子栏目调用顶级栏目名称与链接、DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法、dedecms织梦子栏目获取顶级栏目名称及链接url办法、dedecms织梦子栏目获取顶级栏目名称及链接url方法的相关信息,可以在本站进行搜索。

本文标签: