DEDECMS5.5/5.6/5.7列表页调用TAG标签(热门标签)的两种方法

DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法:
一、DedeCMSv5.6及其以前版本:
  dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种方法。
方法1:
  在列表需要的位置加入下列代码:

  1. [field:id runphp=yes]  
  2. $tsql = new DedeSql(false);  
  3. $tags = '';  
  4. $tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='@me'");  
  5. $tsql->Execute('t');  
  6. while($row = $tsql->GetArray('t',MYSQL_ASSOC)){  
  7. $tags .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";  
  8. }  
  9. @me=$tags;  
  10. [/field:id]  

 方法2:
  在inc_functions.php文件里加入下列代码:

  1. function listtag($aid){ $tsql = new DedeSql(false); $tags = ''; $tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='$aid'"); $tsql->Execute('t'); while($row = $tsql->GetArray('t',MYSQL_ASSOC)){ $tags .= "<href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>"; } return $tags; }  

然后在列表页相应位置加入 [field:ID function="listtag(@me)"/] 标记。

二、DedeCMSv5.7版本:
  前面的调用代码在5.6升级到5.7的系统里可以正常使用,但是全新安装的5.7系统里貌似不能用。
  测试发现,dedecms v5.7版本直接使用标签:[field:id function=GetTags(@me)/] ,就可以调用出来了。只不过不带链接的,如果需要链接,请注释掉includehelpersarchive.helper.php文件的130行: $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
  用下面语句替换,当然你也可以加入自己的样式:$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> ";
清风明月本无价,近水远山皆有情。
原文地址:https://www.cnblogs.com/onlylove2015/p/4392012.html