在网站建设与内容管理中,Dedecms(织梦系统)是一款非常受欢迎的内容管理系统。然而,在使用过程中,用户可能会遇到一些技术难题,例如如何让Dedecms的TAG标签按栏目显示。本文将详细介绍这一问题的解决方法,并提供优化后的SEO友好版本。

最新提示:经用户测试,以下方法可能无法正常生成标签结果,请谨慎使用!如有更优解决方案,我们将及时更新。

DedecmsCMS模板编辑人员在研究Dedecms标签功能时,发现了一种可以实现“按栏目显示TAG标签”的方法。以下是具体步骤:

一、修改核心文件

1. 打开 include/taglib/ 目录下的 tag.lib.php 文件。
2. 找到如下代码段,并在指定位置插入额外代码:


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' ";
    }
}
    

插入的代码片段主要用于判断当前栏目ID,并将其应用于SQL查询条件中。

二、调整模板调用方式

完成上述修改后,需要对模板进行相应调整。以下是正确的调用代码:


{dede:tag sort='hot' getall='2'}
[field:tag /]
{/dede:tag}
    

通过以上两步操作,即可实现Dedecms TAG标签按栏目显示的功能。

注意事项:

  • 确保备份原始文件,以免出现不可逆的错误。
  • 测试环境建议在本地搭建,避免直接影响线上网站。

以上方法虽然有效,但可能存在兼容性问题或因版本不同而失效。因此,在实际应用前,请务必验证其适用性。

 

希望本文能为正在寻找解决方案的开发者提供帮助。同时,也欢迎各位分享更多关于Dedecms优化的经验与技巧。

如果您还有其他疑问,可以在评论区留言交流!