DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法:
一、DedeCMSv5.6及其以前版本:
dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种方法。
方法1:
在列表需要的位置加入下列代码:
1 | [field:id runphp=yes] |
方法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 .= "<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> ";