dedeCMS5.7 在列表页模板中调用tag
打开DEDECMS根目录include/common.func.php
在最底部 ?> 前面加入以下代码:
function listtag($aid)
{
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’$aid’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
$tags .= “”.$row['tag'].” “;
}
return $tags;
}
2.然后在文章页可以使用
{dede:field.id function=”listtag(@me)”/}
来调用TAG标签,
在列表页可以使用
[field:id function="listtag(@me)"/]
来调用TAG标签.
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> “;
下面给大家附带上DedeCMSv5.6及其以前版本:
dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出种方法
方法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)"/]标记