当前位置:首页 > CMS教程 > DeDecms > 列表

dedecms调用tag标签实现方法与详解分析

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-17 17:22:38 浏览: 评论:0 

tag标签是很多站长用来做排名关键字的一个非常重要的标识了,我今天在做一个站时使用了dedecms了,这个系统我本不怎么了解,在调用tag标签时碰到不少问题了,下面小编就整理一下在开发使用dedecms中tag标签使用例子吧.

一,调用本站所有tag标签方法,这个官方有说明.

方法1,代码如下:

{dede:tag type='current'/}

生成后:tag标签(个数)

方法2,代码如下:

  1. {dede:tag sort='new' getall='0' row=60 } 
  2. <a target="_blank" href='[field:link/]'>[field:tag /]</a> 
  3. {/dede:tag} 

补充,代码如下:

最新标签:{dede:tag row='30' sort='new'} [field:tag /]{/dede:tag}

当月热门标签:{dede:tag row='30' sort='month'} [field:tag /] {/dede:tag}

随机标签:{dede:tag row='60' sort='rand'} [field:tag /]{/dede:tag}

注意:

row:调用条数。

sort:排序方式,参数有:month,rand,week, new。

getall:获取类型,参数有:0和1,其中0为当前内容页或栏目页tag,1为获取全站tag.

二,调用文章当前页面tag标签

找到文章模板加入{dede:field.tags/}这个标签即可,但是dedecms默认的Tag标签是没有链接的.

给Tag标签加超链接,大家找到网站跟目录下的/include/helpers/archive.helper.php,找到120行左右,代码如下:

  1. if ( ! function_exists('GetTags')) 
  2.     function GetTags($aid
  3.     { 
  4.         global $dsql
  5.         $tags = ''
  6.         $query = "SELECT tag FROM `dede_taglist` WHERE aid='$aid' "
  7.         $dsql->Execute('tag',$query); 
  8.         while($row = $dsql->GetArray('tag')) 
  9.         { 
  10.             $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']); 
  11.         } 
  12.         return $tags
  13.     } 
  14.  
  15. //替换成以下代码: 
  16. if ( ! function_exists('GetTags')) 
  17.     function GetTags($aid
  18.     { 
  19.         global $dsql
  20.         $tags = ''
  21.         $query = "SELECT tag FROM `dede_taglist` WHERE aid='$aid' "
  22.         $dsql->Execute('tag',$query); 
  23.         while($row = $dsql->GetArray('tag')) 
  24.         { 
  25.             $tags .= ($tags=='' ? '<a href=/tags.php?/'.$row['tag'].' target=_blank>'.$row['tag'].'</a>'','.' 
  26. <a href=/tags.php?/'.$row['tag'].' target=_blank>'.$row['tag'].'</a>');        } 
  27.         return $tags;  //phpfensi.com 
  28.     }} 

三,调用本栏目tag标签方法

打开DEDECMS根目录include/common.func.php,在最底部 ?> 前面加入以下代码:

  1. function listtag($aid)  
  2. {  
  3. $tsql = new DedeSql(false);  
  4. $tags = '';  
  5. $tsql->SetQuery("Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid='$aid'");  
  6. $tsql->Execute('t');  
  7. while($row = $tsql->GetArray('t',MYSQL_ASSOC)){  
  8. $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> ";  
  9. }  
  10. return $tags;  

2.然后在文章页可以使用 21:

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

总结,对于文章调用当前下面的tag标签我们dedecms自带的不太适合现在SEO网站优化的一些进度了,所以我们需要进行改进了.

Tags: dedecms调用tag 织梦tag标签

分享到: