织梦dedecms TAG标签调用汇总

前言

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

不仅如此,如果您文章内使用的某个标签恰巧在首页上推荐,用户打开这个标签时,就会在结果页面上看到您的文章。

原文地址:https://www.cnblogs.com/surplus/p/12921450.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读483次。dedecms织梦频道模板中调用栏目分类并排序:{dede:channelartlist}栏目排序:{dede:global runphp='yes' name=itemindex}@me;{/dede:global}<a href=”{dede:field name='typeurl' /}”>点击进入{dede:field name='typename' /}列表>></a>{/dede:channelartlist}织梦channel标签.._织梦 调取排序
文章浏览阅读284次。我们在用织梦建站的过程中,难免会遇到各种问题,有时候由于主机或者服务器无法支持某些函数或者不够稳定等,需要更换空间或服务器。这个时候我们如何完整地把织梦网站数据转移到新的空间或者服务器上,这是织梦站长必须掌握的技能之一。当然,网站搬家来说,方法是很多的,但是万变不离其宗,说到底就是程序文件和数据文件的备份转移。织梦DedeCMS网站转移主机或者服务器时最常见的转移方式,来说明一下网站搬家的过程。首先是织梦DedeCMS网站程序的数据库备份,方法是进入织梦Dedecms的后台,系统–> 数据库备_dede后台转主机需要修改哪些哪些东西
文章浏览阅读152次。seo专题是seo优化必不可少的一环,对于网站优化的意义重大,因为一些用内容页做不上去的关键词都可以尝试用专题形式来做。相对于一般性的网页来说,专题页面具有内容丰富性、多样性、用户体验好的特征,百度官方也在最近说了专题优化的好处。但是,专题对seo是好的,但是对于做专题的人来说却并不好做,因为他非常的繁琐和耗费功夫。从原理来说,一般性的网页(栏目、内容页)都是通过统一的模板进行映射的网页,这些网页的构成都非常的简单,虽然有些可以利用内容模型和自定义列表进行参数提取,这样让内容非常的丰富,但是这个丰富_织梦专题
文章浏览阅读142次。在Dedecms中,在列表页调用文章摘要的方法主要有:1:[field:info /]2:[field:description /]3:[field:info function="cn_substr(@me,字符数)"/]4:[field:description function="cn_substr(@me,字符数)"/]第1、2种方法是直接调用文章摘要,在调用的字数问题上,当使用[field:info /]时,可以在{dede:arclist infolen=' ' }{/dede:arcli_dede 内容摘要 字数
文章浏览阅读234次。织梦DedeCMS文章内容发布时可以选择“头条”、“推荐”、“特荐”等文档属性,我们可以利用这些条件加一个判断的标签,然后给文章列表加一个推荐的印戳图标,这样大大提高了页面的友好程度。文字推荐方法:[field:flag runphp='yes'] if(stristr(@me,"c")) @me = "[推荐]";else @me = '';[/field:flag][field:flag runphp='yes'] if(stristr(@me,"a")) @me = "[特荐]";else _dede 列表页 调用推荐文章
文章浏览阅读701次。虽然织梦DedeCMS因为安全问题被人所诟病,但瑕不掩瑜,无论从用户群数量还是时间等各方面,织梦DedeCMS都是国内排名前几的CMS建站程序。如果你想学习CMS的二次开发,织梦DedeCMS是必须需要研究的。对织梦DedeCMS的二次开发来说,了解织梦的目录构成、文件、函数则是必备的功课。今天整理一篇关于Dedecms目录介绍的文章,对织梦DedeCMS的目录结构、核心文件、模板文件等做一个简单的介绍。为使版面美观,就借用下php程序的注释,//符合后面为该文件的作用。由于版本的原因,有一_织梦默认模板目录
文章浏览阅读375次。dede是目前cms中使用最广泛的,也是中小网站中seo优化最好的(默认模板而言),所以很多的企业都会选择采用dede作为做站的首选,因此学seo了解些织梦seo优化的技巧和方面是有必要的。焦大曾经做过多年的织梦seo优化,以个人经验所知,觉得以下几个方面的seo最为重要:第一,url设置与栏目分开。我们看到目前90%以上的dede建站者的文章url都是类似域名/栏目名/文章ID,或者域名/a/日期/栏目/文章ID,其中第一种在企业站最常见,第二种在新闻资讯网站中常见。个人觉得这么设置会出._dede seo
文章浏览阅读189次。dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加写法如下: 1 2 3 4 {dede:arclist row=4 flag='p'} <li [field:global name=autoindex runphp="yes"](@me==1)? @me="class=on":@me="";[/field:global]>[field:global.autoindex/]<.._dedecms arclist
文章浏览阅读227次。字段要想在任何位置任何模版中调用,需要特殊设置。自定义字段自定义的织梦如何添加自定义字段的频道模型,这里以图片集频道举例注意:创建字段可以在列表的底层模板中获得”这个必须勾选在字段中添加(价格属性)在基本设置里》列表附加调用)二,调用自定义调用{dede:list pagesize='5' addfields='jiage' channelid='2'}<P>标题:[field:title/]</P><P>价格:[field:jiage/]&_织梦列表调用自定义字段
本教程操作系统:Windows10系统、DedeCMS 5.7.109版本、Dell G3电脑。 织梦CMS是一个使用PHP语言开发的网站建设管理系统,因此在安装过程中需要安装数据库以存储网站内容和数据。
在Dedecms织梦列表页中是肯定要使用pagelist标签的,但是有的时候也会因为一些css格式的问题会出现排列顺序的问题,所以也要知道怎么样修改pagelist标签?
今天分享织梦网站怎么搬家,个人感觉织梦的搬家比其他的程序的都简单。1、网站备份登录织梦后台,【系统】-【数据库备份/还原】-【提交】,织梦程序开始自动备份数据库,等待即可。
织梦(dede)程序不安全是公认的,同样是建站,使用织梦程序被黑的风险更大,所以,一些安全设置是非常有必要的。织梦网站安全设置的4个主要操作
使用xemu、爱站工具包、尖叫青蛙等制作网站地图,每次生成sitemap还需要再上传到服务器,还是比较麻烦的,不过有些网站程序可以通过插件完成网站地图的自动更新,比如wordpress。但是织梦一直都不行,今天就用插件+代
分享织梦自动生成网站sitemap,但是需要安装插件,今天分享,织梦如何不使用插件,制作网站xml地图。
织梦自定义表单没有全选/取消全选功能,有时候想要全选全,需要一个一个选择比较麻烦,如果网站有大量的恶意留言,想要删除更麻烦。虽然可以使用sql命令删除恶意留言,但不是很灵活,今天就给织梦自定义表单添加全选
前几天百度公开课说了,api推送的优先级比较高,所以在没有快速收录的情况下,api提交必须要有,那么织梦要如何实现api主动推送呢?
dede定时主动推送,虽然也很方便,但只能固定时间推送,实时性不高,今天小编分享如何发布文章后实时api推送至百度?
dede当前位置标签代码方法一:{dede:fieldname='position'/}dede当前位置标签代码方法二:{dede:fieldname='position'runphp='yes'}$a=mb_strlen(@me);//计算字符串的长度@me=cn_substr(@me,$a-2,-1);//截取字符{/dede:field}(这是去掉“去掉>”得得方法)dede当前位置
织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:fieldname='typename'/}可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。下面拓展出一个方法来实现这个效果: 方