原文来自:https://www.zixuephp.com

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

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

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

方法1,代码如下:

{dede:tag type='current'/}

生成后:tag标签(个数)

方法2,代码如下:

  1. {dede:tagsort='new'getall='0'row=60}
  2. <atarget="_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. {
  3. functionGetTags($aid)
  4. {
  5. global$dsql;
  6. $tags='';
  7. $query="SELECTtagFROM`dede_taglist`WHEREaid='$aid'";
  8. $dsql->Execute('tag',$query);
  9. while($row=$dsql->GetArray('tag'))
  10. {
  11. $tags.=($tags==''?$row['tag']:','.$row['tag']);
  12. }
  13. return$tags;
  14. }
  15. }
  16. //替换成以下代码:
  17. if(!function_exists('GetTags'))
  18. {
  19. functionGetTags($aid)
  20. {
  21. global$dsql;
  22. $tags='';
  23. $query="SELECTtagFROM`dede_taglist`WHEREaid='$aid'";
  24. $dsql->Execute('tag',$query);
  25. while($row=$dsql->GetArray('tag'))
  26. {
  27. $tags.=($tags==''?'<ahref=/tags.php?/'.$row['tag'].'target=_blank>'.$row['tag'].'</a>':','.'
  28. <ahref=/tags.php?/'.$row['tag'].'target=_blank>'.$row['tag'].'</a>');}
  29. return$tags;//phpfensi.com
  30. }}

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

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

  1. functionlisttag($aid)
  2. {
  3. $tsql=newDedeSql(false);
  4. $tags='';
  5. $tsql->SetQuery("Selecti.tagFromdede_taglisttleftjoindede_tagindexioni.id=t.tidwheret.aid='$aid'");
  6. $tsql->Execute('t');
  7. while($row=$tsql->GetArray('t',MYSQL_ASSOC)){
  8. $tags.="<ahref='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a>";
  9. }
  10. return$tags;
  11. }

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

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

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