php专区

 首页 > php专区 > PHP应用 > CMS建站 > dedecms调用tag标签实现方法与详解分析 - DeDecms

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

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

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

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=='' ? '.$row['tag'].' target=_blank>'.$row['tag'].''','.' 
  26. '.$row['tag'].' target=_blank>'.$row['tag'].'');        } 
  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 .= ".urlencode($row['tag'])."/'>".$row['tag']." ";  
  9. }  
  10. return $tags;  

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

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

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

分享到:
dedecms巧用getall获取当前页面tag标签(...
dedecms巧用getall获取当前页面tag标签(超连接)例子 关于dedecms中tag标签我这两天接触最多了,昨天发现无法实现调用当前页面的tag标签,而调用当前页面标签只能调用纯文本的问题,今天我突然发现全部解决了. 注明:测试系统dedecms5.7 我在昨天介绍过,调用本文或栏目tag标签我们使用到: {dede...
在首页调用指定一篇文章的body - DeDecms
在首页调用指定一篇文章的body {dede:arclist idlist=&#039;要调用文章的id&#039; channelid=&#039;1&#039; addfields=&#039;body&#039;} [field:body function=&#039;cn_substr(@me,330)&#039;/] {/dede:arclist} ps:idlist 是要调用文章的id,channelid 是这个内容模型id,addfields 是要...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……