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

修改前

修改后

方法二:打开/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;
	

修改前

修改后

通过以上两种方法都可以实现不显示未审核文档的tag,大家根据实际情况自己选择使用。

本文DedeCMS不显示未审核文档Tag标签的方法到此结束。天平是轻重的衡量器,实践是是非的试金石。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
dedecms怎么把未审核的文章的时间调整为审核时的时间

dedecms修改tag的显示库文件让其不显示未审核文档的tag方法

织梦不显示未审核文档的TAG的方法

织梦模板DEDECMS不显示未审核tag标签文档的的方法

dedecms把文章批量设为未审核的办法