随州网站优化随州SEO随州网站建设就找创想网络随州本地网站优化SEO网站建设创想网络最好、最专业。创想网络致力于网站优 化、SEO、网站建设、网站美化网站推广网络营销整合方案等服务。

    正在载入图片……
    • 网站没有排名,想知道为什么吗?
    • 解密SEO如何让网站排名第一
    • 网站是做来用的,不光是做来看的
    热门关键词:时间 织梦 自定义 采集 模型
    您现在的位置:创想网络 >> 建站经验 >> 织梦dedecms增加调用当前顶级栏目的标签

    织梦dedecms增加调用当前顶级栏目的标签

    作者:随州SEO 来源:随州网站优化 发布日期:2019年05月04日 浏览:
    文章Tags:

    织梦dedecms增加调用当前顶级栏目的标签,此标签适用于织梦DEDECMS文章内容页、栏目页获取当前页面顶级栏目名称。以下是具体方法。

    打开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)" /}

     

    ===================================

    dedecms获取顶级栏目名称、二级栏目名称实现方法

    站长地带做站的时候碰到一个问题,需要在二级、三级,甚至更多级,获取顶级栏目或者二级栏目名称。

    现在和大家分享下最简单的实现方法。找到include/common.func.php文件,在里面加入下面这段代码:

     

    //获取二级栏目名

    function GetTopTypename($id)

    {

    global $dsql;

    $row = $dsql->GetOne("SELECT typename,reid FROM gsh_arctype WHERE id= $id");

    if ($row['reid'] == '0')

    {

    return $row['typename'];

    }

    else

    {

    $row2 = $dsql->GetOne("SELECT typename FROM gsh_arctype WHERE id= $row[reid]");

    return $row2['typename'];

    }

    }

    然后在任意列表页、内容页需要调用名称的地方加入:

    {dede:field.typeid fuction="GetToypename(@me)"/}

    如果在dede标签里面,就用下面这句调用:

    [field:typeid fuction="GetToypename(@me)"/]

    上面这个方法是调用栏目的二级栏目名称,如果需要顶级栏目名称,只要将SQL里面的reid字段改成topid就可以了。另外记得将gsh_arctype前缀改成你数据库的前缀。


    如果以上方法不管用,还可以试试下面的方法:

    修改 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上面的定义!


    本文地址:http://www.szcxdl.com/wzjs/130.html

    本文作者随州SEO,转载请注明出处。