欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

dedecms织梦不同版本的tag标签调用方法

shiping1 的头像

dedecms不同版本的tag标签调用方法,很多朋友tag标签调用不出来,就百度找方法,有些人添加后可以,有些人添加后没结果反而网站打不开,其实这个是要根据版本的不同添加的。

        添加tag标签位置:主页、频道页、列表页、tag搜索列表页、文章页、网页模板随机调用tag

讲解:

        一、主页、频道页、列表页、tag搜索列表页调用代码一样,直接在对应位置加入[field:id function=GetTags_list(@me)/]

        很多朋友说加入后没显示,前提还要先修改dede后台的文件,分为两种情况,dede5.6版本上下两种情况。

        网络上有三种方法,不过本人用的是dede5.7,有两种方法用的不成功,结果是后台打不开,需要在ftp中删除加入的文件才能解决。

文件添加位置:

dede5.7:include\helpers\archive.helper.php

dede5.6:模板中 或者是 include/common.func.php 或者是  include/inc_functions.php

        二、网页模板随机调用tag(文章页tag调用包含在上面第一步里)

        三、附加:其他模板的tag调用

工具/原料

  • ftp上传工具

方法/步骤

  1. 1

    1、接下来先介绍一下dede5.7版本的该加入什么文件

    要在ftp里面上传include\helpers\archive.helper.php

    (注:有朋友会疑问,主页和频道、列表应该加的是不同的调用,不过本人开始用列表页测试,成功;加入主页后测试也是成功显示的,所以我就没再继续深究下去了。以下有我添加生成后成功的图片,仅供参考!)

    (这个文件的内容更改,在后台文件是更改不了的,提示是注入sql,所以要在ftp中找到这个文件进行更改才行。不成功删除即可。)

    底部增加:

     function GetTags_list($aid)

        {

            global $dsql;

            $tags = '';

            $query = "SELECT tag FROM `#@__taglist` WHERE aid='$aid' ";

            $dsql->Execute('tag',$query);

            while($row = $dsql->GetArray('tag'))

            {

                $tags .= ($tags=='' ? "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>" : ','."<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>");

       

            }

            return $tags;

        }

    文章需要位置调用:

    [field:id function=GetTags_list(@me)/]

    dedecms织梦不同版本的tag标签调用方法
    dedecms织梦不同版本的tag标签调用方法
  2. 2

    2、这个是dede5.6版本的列表页调用tag的方法

    方法一:直接模板需要的位置加入以下代码即可(注:这一步dede5.7版本里面实现不了)

    [field:id runphp=yes]

    $tsql = new DedeSql(false);

    $tags = ”;

    $tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”);

    $tsql->Execute(‘t’);

    while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){

    $tags .= “<a href=’/tag.php?/”.urlencode($row['tag']).”‘>”.$row['tag'].”</a>”;

    }

    @me=$tags;

    [/field:id]

  3. 3

    方法二:打开dedecms根目录include/common.func.php

    (这个文件代码dede5.7加入后网站和后台是打不开的,需要删除才能打开。

    不过网络上有朋友说需要更改里面的SQL名称,这个本人就没时间深究,有兴趣的朋友可以研究下,然后像我这样给大家分享分享!)

    在最底部 ?> 前面加入以下代码:

    //NI9HT:列表页调用tag的方法

    function listtag($aid)

    {

    $tsql = new DedeSql(false);

    $tags = ”;

    $tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’$aid’”);

    $tsql->Execute(‘t’);

    while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){

    $tags .= “<a href=’/tags.php?/”.urlencode($row['tag']).”/’>”.$row['tag'].”</a> “;

    }

    return $tags;

    }

    {dede:field.id runphp=yes}

    $tsql = new DedeSql(false);

    $tags = ”;

    $tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”);

    $tsql->Execute(‘t’);

    while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){

    $tags .= “<a href=’/tag.php?/”.urlencode($row['tag']).”‘>”.$row['tag'].”</a>”;

    }

    @me=$tags;

    {/dede:field.id}

    添加代码后,在文章页可以使用

    {dede:field.id function=”listtag(@me)”/}

    来调用tag标签。

  4. 4

    方法三:在inc_functions.php文件里加入(注:这个方法也有朋友使用成功,文件是在include文件中,不过本人在dede5.7中找不到该文件,应该只有dede5.6以下的版本才有。)

    function listtag($aid){

    $tsql = new DedeSql(false);

    $tags = '';

    $tsql->SetQuery("Select i.tagname From xkzzz_tag_list t left join xkzzz_tag_index i on i.id=t.tid where t.aid='$aid'");

    $tsql->Execute('t');

    while($row = $tsql->GetArray('t',MYSQL_ASSOC)){

    $tags .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";

    }

    return $tags;

    }

    然后在列表页相应位置加入

    [field:ID function="listtag(@me)"/]标记

  5. 5

            二、网页模板随机调用tag。直接加入以下代码,修改成自己所需的即可。

    {dede:tag row='50' getall='1' sort='month'}

            <span><a class="tag" href='[field:link/]'>[field:tag /]</a></span>{/dede:tag}

  6. 6

            三、附加:下面是其他版块的调用代码

            分别是:dede最新tag标签调用方法,dede当月热门tag标签调用方法, dede随机tag标签调用方法, dede内容页tag添加调用方法等等.

     

    <p>dede最新tag标签<br />

    {dede:tag row='30' sort='new'} [field:highlight/]([field:result/]) {/dede:tag}</p>

    <p>dede当月热门tag标签<br />

    {dede:tag row='30' sort='month'} [field:tagname/]([field:result/]) {/dede:tag}</p>

    <p>dede随机tag标签<br />

    {dede:tag row='60' sort='rand'} [field:highlight/]([field:result/]) {/dede:tag}</p>

    <p>dede文章内容页tag添加<br />

    {dede:tag type='current'/}

    来自 http://jingyan.baidu.com/article/d5c4b52bc1c71eda570dc545.html

普通分类: