未審核文檔的TAG會顯示在TAG列表頁面, 固然點擊進入TAG時, 相關的未審核文章不會顯示出來, 這樣對用戶體驗是很不好的. DEDECMS暫時沒有提供這個功能,所以要解決這個問題, 讓DEDECMS不顯示未審核文檔的TAG, 就要修改TAG的顯示庫文件 tag.lib.php。
方法一
打開 /include/taglib/tag.lib.php 文件
找到
if(!empty($typeid))
{
$addsql = " where typeid='$typeid' ";
}
修改為
$dsql->SetQuery("Select tid From `dede_taglist` where arcrank<=-1");
$dsql->Execute();
$ids = '';
while($row = $dsql->GetArray())
{
$tid = $row['tid'];
$cquery = "Select count(*) as dd From `dede_taglist` where tid = $tid and arcrank<=-1";
$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'" ;
}
}
方法二
找到
$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;
通過以上兩種方法就可以實現(xiàn)不顯示未審核文檔的tag了