muban大师 发表于 2019-5-25 09:22:53

织梦DedeCMS不显示未审核文档Tag标签的方法

我们在使用DedeCMS后台发布文章的时候,当文档处于未审核状态时,依然会生成tag标签,而这个tag标签会在tag列表页中显示出来。如果我们点击这个tag标签,就会显示为空,这样对用户体验十分不好,算是DedeCMS的一个小Bug。
       
        今天网站源码网就给出两种解决方法,来实现DedeCMS中未审核的文档Tags标签不显示在前端。
       
        方法一:打开/include/taglib/tag.lib.php文件,找到代码(大概在第64行)
       
       
        if(!empty($typeid))
                      {
                                $addsql = " WHERE typeid='$typeid' ";
                      }
       
        修改为:
       
       
        $dsql->SetQuery("Select tid From `dede_taglist` where arcrank
                      $dsql->Execute();
                      $ids = '';
                      while($row = $dsql->GetArray())
                      {
                                $tid = $row['tid',;
                                $cquery = "Select count(*) as dd From `dede_taglist` where tid = $tid and arcrank
                                $crow = $dsql->GetOne($cquery);
                                if(!$crow['dd',)
                                {
                                        $ids .= ( $ids=='' ? $row['tid', : ','.$row['tid', );
                                }
                      }
                      if($ids != '')
                      {
                                $addsql= " where id not in($ids) ";
                      }
                      if(!empty($typeid))
                      {
                                if($addsql)
                                {
                                        $addsql= " and typeid='$typeid' ";
                                }else{
                                        $addsql= " where typeid='$typeid'" ;
                                }
                      }
       
        DedeCMS不显示未审核文档Tag标签的方法
       
        修改前
       
        DedeCMS不显示未审核文档Tag标签的方法
       
        修改后
       
        方法二:打开/include/taglib/tag.lib.php文件,找到代码(大概在第85行)
       
       
        $row['keyword', = $row['tag',;
       
        在其前面加入:
       
       
        $rankrowss = $dsql -> GetOne("SELECT count(tid) as rankcount FROM `js_taglist` WHERE tid = $row[id, and arcrank >= 0");
        if($rankrowss[rankcount, == 0) continue;
       
        DedeCMS不显示未审核文档Tag标签的方法
       
        修改前
       
        DedeCMS不显示未审核文档Tag标签的方法
       
        修改后
       
        通过以上两种方法都可以实现不显示未审核文档的tag,大家根据实际情况自己选择使用。
页: [1]
查看完整版本: 织梦DedeCMS不显示未审核文档Tag标签的方法