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)"/]标记