织梦(dedecms)列表页只调用显示当前栏目tag标签的方法
织梦
tag标签默认是全站调用的,不能按栏目调用当前栏目的tag标签,那么如何让标签按栏目显示,只显示当前栏目的所有标签呢?下面笔记部落
就告诉大家具体的实现方法:第一步:找到并打开include/taglib/tag.lib.php文件,在里面找到下面这段代码:
if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid'])) { $dsql->SetQuery("SELECT tid FROM `dede_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就是表示获取当前栏目的tag标签,而不获取其他栏目或是全部的标签。