前言

TAG标签是一种由您自己定义的,比分类更准确、更具体,可以概括文章主要内容的关键词,合理的运用TAG标签,可以使你发表的文章更容易被搜索到。

很多网站的首页、列表页和文章页调用的TAG关键词是带超链接,这样利于蜘蛛搜索抓取,又有利于用户点击,那在织梦dedecms系统的网站上该如何实现这一功能呢?对此,岛主整理了以下几种方法供大家使用:
TAG标签调用汇总

1、tag标签的语法解释

基本语法:

{dede:tag row='30' sort='new' getall='0'}
    <a href='[field:link/]'>[field:tag /]</a>
    {/dede:tag}

参数说明:

row='30' 调用条数为30条

sort='new' 排序方式month,rand,week

getall='0' 获取类型0为当前内容页TAG标记,1为获取全部TAG标记。

底层模板字段:link,tag

2、最新tag标签调用

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

3、当月热门tag标签调用

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

4、随机tag标签调用

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

5、采集热门Tags,刷新一次变换一次

模板代码:

{dede:tag row='10' sort='month' }
    <a class="tag" href='[field:link/]'>[field:tagname/] </a>
    {/dede:tag}
    <script language="javascript">
    <!--
    var tag_a=document.getElementsByTagName("a");
    for( i in tag_a){
    var offset=6;
    var num=4;
    if(tag_a.className=="tag"){
    var rnd=Math.ceil((num+offset)*Math.random());
    if(rnd>offset){
    tag_a.className="tag"+(rnd-offset);
    }
    }
    }
    //-->
    </script>

CSS代码:

.tag1 { color:#339900;font-weight:bold;}
    .tag2 { color:#e65730;}
    .tag3 { color:#00b9da;}
    .tag4 { color:#FE3981;font-weight:bold;font-size:14px;}

6、文章页tag标签调用

{dede:tag table='dede_search_keywords' sort='keyword' row='2' if=''}
    <a class=blue href='[field:link/]' target=_blank>[field:tag /]</a>
    {/dede:tag}

{dede:field name='keywords' runphp='yes' }
    if(!empty(@me)){
    $kws = explode(' ',@me);
    @me = "";
    foreach($kws as $k){
    @me .= "<a href='/tag.php?/$k/'>$k</a> ";
    }
    @me= str_replace('+', ' ',trim(@me));
    }
    {/dede:field}

7、列表页调用TAG标签的两种方法

dedecms默认在列表是无法调用tag标签的,经过岛主再次对织梦代码的研读及收集,现给大家再提供以下不同版本的tag标签调用方法:

(1)、dedecms5.7版本的调用方法

首先,找到include\helpers\archive.helper.php文件(注:有朋友会疑问,主页和频道、列表应该加的是不同的调用,不过本人开始用列表页测试,成功;加入主页后测试也是成功显示的,所以我就没再继续深究下去了,另外,这个文件的内容更改,在后台文件是更改不了的,提示是注入sql,所以要在ftp中找到这个文件进行更改才行0。)

在底部增加:

function GetTags_list($aid)
        {
            global $dsql;
            $tags = '';
            $query = "SELECT tag FROM `ma_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;
        }

然后,在列表需要调用tag标签的位置添加:

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

即可完成。

(2)、dedecms5.6版本的调用方法

方法一:

直接在模板需要的位置加入以下代码即可:

[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]

注:这一步dede5.7版本里面实现不了。

方法二:

打开dedecms根目录include/common.func.php,在最底部的“?>”之前加入以下代码:

//岛主:列表页调用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标签。

方法三:

在include/inc_functions.php文件里加入:

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)"/]

就可以调用出来了,只不过这个方法也需要改动程序文件,看不懂代码的朋友,慎用!

8、首页调用文章TAG标签的方法

如果你网站用的是dedecms v5.7版本可直接使用标签:

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

就可以调用出来了,只不过不带连接的,要想给tag标签加上链接,还需要进行以下操作:

首先,注释掉include/helpers/archive.helper.php文件的130行,

$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);

用下面语句替换,当然你也可以加入自己的样式:

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

再再下面空白处加入以下代码:

if ( ! function_exists('GetTagk')){
    function GetTagk($aid)
    {
    global $dsql;
    $tagk = '';
    $query = "SELECT tag,aid FROM `ma_taglist` WHERE aid='$aid' ";
    $dsql->Execute('tag',$query);
    while($row = $dsql->GetArray('tag'))
    {
    $tagk .= ($tagk=='' ? $row['tag'] : ','.$row['tag']);
      }
      return $tagk;
      }
    }

然后,打开dede/article_edit.php找到:

$tags = GetTags($aid);

在下面加上:

$tagk = GetTagk($aid);

再打开dede/templets/article_edit.htm再调用tag标签那里把:

<?php echo $tags; ?>

改成:

<?php echo $tagk; ?>

这样调用的时候可以调用tag,后台显示也能正常显示。

岛主点评:

通过给文章定制tag标签,文章作者可以让更多人更方便准确的找到自己的文章,读者也可以通过文章标签更快找到自己感兴趣的文章,您可以为每篇文章添加一个或多个标签,发表成功后,您可以打开文章内的标签,看到网站内所有和您使用了相同标签的文章。

不仅如此,如果您文章内使用的某个标签恰巧在首页上推荐,用户打开这个标签时,就会在结果页面上看到您的文章。
---------------------
作者:织梦岛
来源:CSDN
原文:https://blog.csdn.net/dededao/article/details/77493922
版权声明:本文为博主原创文章,转载请附上博文链接!

织梦dedecms TAG标签调用汇总相关推荐

  1. 织梦tag伪静态html方式,织梦dedecms TAG标签伪静态方法(附伪静态规则)

    在之前,织梦帮介绍了关于 织梦dedecms TAG 标签字数长度修改方法 ,今天就分享下dedecms织梦tag标签实现伪静态的方法,关于tags伪静态配置比其它的配置要简单的多了只需要修改几个小地 ...

  2. 织梦php时间调用,织梦DedeCms时间格式调用汇总

    学好织梦的各种调用,制作各种网站都是可以的了.织梦DedeCMS确实是一款很强大的CMS建站软件.今天主要搜集了一些织梦时间格式调用的标签.我们在使用织梦DedeCms的过程中,会根据需要改变时间的显 ...

  3. 织梦 dede TAG 标签调用 大全

    签调用的基本语法是: {dede:tag row='30' sort='new' getall='0'} <a href='www.dede888.com/[field:link/]'>[ ...

  4. 织梦dede所有标签调用方法大全

    2019独角兽企业重金招聘Python工程师标准>>> 织梦dede所有标签调用方法大全!非常实用! 关键描述调用标签: <meta name="keywords&q ...

  5. 织梦php调用字段,织梦dedecms搜索页调用自定义字段的方法

    这篇文章主要为大家详细介绍了织梦dedecms搜索页调用自定义字段的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 织梦dedecms搜索页调用自定义字段的 ...

  6. 织梦php标签查询数据库,织梦DedeCMS模板标签sql调用代码大全

    织梦Dedecms确实是非常强大的系统,编程之家以前也分享了很多自己在使用织梦时遇到的一些问题及其解决办法.下面是要分享在Dede系统里面,如何使用sql语句来配合织梦标签进行更多的个性化调用.如织梦 ...

  7. 【原创整理】织梦dedecms仿站调用代码大全

    ★★★★★★★★★★★★首页★★★★★★★★★★★★ 关键描述调用标签: <meta name="description" content="{dede:globa ...

  8. dedecms教程:织梦所有实用标签调用方法搜集整理

    最近研究了一下织梦后台,发现一些非常有用的标签调用的方法,分享给大家~~ 关键描述调用标签: <meta name="keywords" content="{ded ...

  9. 织梦 DEDECMS LOOP标签的用法及调用

    DEDECMS LOOP标签的用法及调用 LOOP标签] 说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 范围:所有模板 (1) 语法 {dede:loop table='' sort=' ...

最新文章

  1. Git强制覆盖还原本地救火命令
  2. 树莓派Linux内核源码配置、编译、挂载(boot/kernal/根文件)、开启新内核
  3. linux上安装memcached步骤
  4. Insertion Sort——打表找规律
  5. 国产Model 3高性能版规格公布:充电15分钟续航250公里
  6. 怎么查询服务器绑定的网站吗,服务器绑定网站吗
  7. html文件文本预处理,HTML文件文本信息预处理技术.pdf
  8. 网络安全05_VMware 虚拟机软件安装_准备Kali- Linux虚拟机_Windows Server 2003 Enterprise 虚拟机下载和安装
  9. android强制window深色模式,安卓微信深色模式如何设置(强制深色模式软件)
  10. maven仓库清理缓存文件(dos工具)
  11. java求闰年_Java判断闰年的2种方法示例
  12. 百度地图在项目应用示例
  13. python mht 文件转html文件
  14. 创意PS:-----程序员变身超人
  15. javascript中的Strict模式
  16. TSL1.0升级到TSL1.2遇到的问题
  17. Invalid topo name mytopo
  18. 安卓逆向-new-sec6-5 平头哥框架hook简介 | 类加载器 | 内部类
  19. CPU性能衡量参数-主频,MIPS,CPI,时钟周期,机器周期,指令周期
  20. Psoc Creator入门——EZI2C 通信

热门文章

  1. 聚焦 Android 11: 大功告成
  2. oracle采购开票怎么退,购买方退货如何开票
  3. 计算机英语口语面试自我介绍,英语面试_面试英语口语:自我介绍模板_沪江英语...
  4. Python基础学习笔记-8.文件、异常和模块
  5. 架构师与算法工程师,谁更......
  6. 画个五角星的方法c语言,急!请问,如何用C语言画一个五角星(用*组成)?
  7. Dlib 人脸Landmark检测速度优化
  8. 七夕--牛郎织女传说
  9. 利用场景法设计atm自动取款机的测试用例_atm自动取款机的测试用例
  10. 加密解密系列文章之 - ASCII 加密解密(最简单的加密解密) 上