在使用dedecmsCMS时,tag标签默认是全站调用的,并不能直接按栏目调用当前栏目的tag标签。那么,如何让标签按照栏目显示,只展示当前栏目的所有标签呢?经过网络上的资料查找和总结,我们发现了一些有效的方法,这使得dedecmsCMS标签功能显得更加灵活强大。以下就是修改和调用TAG标签的具体方法。

一、首先需要打开include/taglib/目录下的 tag.lib.php 文件。

二、找到下面这段代码,并在中间插入标注部分代码:


if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid']))
{
     $dsql->SetQuery("Select tid From `ddmx_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'}

{/dede:tag}

通过上述步骤,您可以成功实现dedecmsCMS中按栏目显示标签的功能。
在实际操作过程中,请确保每一步都准确无误地执行,以避免可能发生的错误。希望这篇文章能对您有所帮助!

请注意,在进行任何文件修改之前,建议备份原始文件,以便在出现问题时可以迅速恢复。这样可以有效防止因误操作导致的数据丢失或网站运行异常。


空格示例:这是几个空格