织梦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(!empty($typeid))
{
$addsql = " WHERE typeid='$typeid' ";
}
|
改为如下代码:
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']}' ";
}
else
{
if(!empty($typeid))
{
$addsql = " where typeid='$typeid' ";
}
|
红色部分就是要添加的代码。
以下部分代码是调用当前栏目TAG标签的方法。
{dede:tag sort='hot' getall='2'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}
|