演示链接:查看演示

dedecmsTAG标签按栏目调用,只显当前栏目tag标签

dedecmsCMStag标签默认是全站调用的,不能按栏目调用当前栏目的tag标签,那么如何让标签按栏目显示,只显示当前栏目的所有标签呢?网上找了些dedecmsCMS朋友总结的方法,至此dedecmsCMS模版网感觉dedecmsCMS标签真的很强大。下面就是修改和调用TAG标签的方法:

 

一、打开include/taglib/目录下的 tag.lib.php 文件

 

找到下面这段代码:

1 if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid']))

灵活修改为下面代码,注意对比文件的结束位置


查看源码

 
打印代码帮助

01 if($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     else 22     { 23             if(!empty($typeid)) 24             { 25                     $addsql = " where typeid='$typeid' "; 26             }



以下部分代码是调用当前栏目TAG标签的方法。


1 {dede:tag sort='hot' getall='2'} 2   3 <a href='[field:link/]'>[field:tag /]</a> 4   5 {/dede:tag}

THE END
喜欢就支持一下吧
点赞0 分享