DEDECMS不显示未审核文档的TAG

未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 但是对用户体验总是不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。

方法一、打开/include/taglib/tag.lib.php中找到以下代码:

  1. if(!empty($typeid)) 
  2. $addsql = " where typeid='$typeid' "

修改成:

  1. $dsql->SetQuery("Select tid From `dede_taglist` where arcrank<=-1");  
  2.         $dsql->Execute(); 
  3.         $ids = ''
  4.         while($row = $dsql->GetArray()) 
  5.         { 
  6.             $tid = $row['tid']; 
  7.             $cquery = "Select count(*) as dd From `dede_taglist` where tid = $tid and arcrank<=-1"
  8.             $crow = $dsql->GetOne($cquery); 
  9.             if(!$crow['dd']) 
  10.             { 
  11.                 $ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] ); 
  12.             } 
  13.         } 
  14.         if($ids != ''
  15.         { 
  16.             $addsql" where id not in($ids) "
  17.         } 
  18.         if(!empty($typeid)) 
  19.         { 
  20.             if($addsql
  21.             { 
  22.                 $addsql" and typeid='$typeid' "
  23.             }else
  24.                 $addsql" where typeid='$typeid'" ; 
  25.             } 
  26.         } 

方法二:找到:

  1. $row['keyword'] = $row['tag']; 

在其前边加入:

  1. $rankrowss = $dsql -> GetOne("SELECT count(tid) as rankcount FROM `js_taglist` WHERE tid = $row[id] and arcrank >= 0"); 
  2. if($rankrowss[rankcount] == 0) continue

这样就实现不显示未审核文档的tag效果了。

转载请注明:代码家园 » DEDECMS不显示未审核文档的TAG

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)