默认的tag标签是全站调用,因此每个栏目页调用的tag其实都是一样了,修改dedecms系统文件可以实现,针对栏目调用相应的tag:
修改include/taglib/tag.lib.php文件。找到如下代码:
if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid'])) { $dsql->SetQuery("Select tid From `chj_taglist` where aid = '{$refObj->Fields['aid']}' "); $dsql->Execute(); $ids = ''; while($row = $dsql->GetArray()) { $ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] ); } if($ids != '') { $addsql = " where id in($ids) "; } if($addsql=='') return ''; }
然后在后面添加如下代码:
else if($getall==2) { $addsql = " where typeid='{$refObj->Fields['typeid']}' "; }
之后在栏目页调用的时候以下面的形式调用即可:
{dede:tag sort='hot' getall='2'} <a href='[field:link/]'>[field:tag /]</a> {/dede:tag}
注意:getall=2 获取的是当前栏目的tag