`
moqiang02
  • 浏览: 529164 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

[field:id runphp=yes]
$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='@me'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
}
@me=$tags;
[/field:id]

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

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 .= "<a 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)/] ,就可以调用出来了。只不过不带链接的,如果需要链接,请注释掉include\helpers\archive.helper.php文件的130行: $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
  用下面语句替换,当然你也可以加入自己的样式:$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> ";

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics