dedecmsCMStag标签默认是全站调用的,不能按栏目调用当前栏目的tag标签,那么如何让标签按栏目显示,只显示当前栏目的所有标签呢?网上找了些dedecmsCMS朋友总结的方法,至此dedecmsCMS模版网感觉dedecmsCMS标签真的很强大。下面就是修改和调用TAG标签的方法:
一、打开include/taglib/目录下的 tag.lib.php 文件
找到下面这段代码:
1if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid']))灵活修改为下面代码,注意对比文件的结束位置:
查看源码
打印代码帮助
01if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid']))02 {03 $dsql->SetQuery("Select tid From `dede_taglist` where aid = '{$refObj->Fields['aid']}' ");04 $dsql->Execute();05 $ids = '';06 while($row = $dsql->GetArray())07 {08 $ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] );09 }10 if($ids != '')11 {12 $addsql = " where id in($ids) ";13 }14 if($addsql=='') return '';15 }16 17 else if($getall==2)18 {19 $addsql = " where typeid='{$refObj->Fields['typeid']}' ";20 }21 else22 {23 if(!empty($typeid))24 {25 $addsql = " where typeid='$typeid' ";26 }
以下部分代码是调用当前栏目TAG标签的方法。
1{dede:tag sort='hot' getall='2'}23<a href='[field:link/]'>[field:tag /]</a>45{/dede:tag}THE END








