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

织梦教程 强烈建议 2024-06-16 10:36 78 0

  我们在使用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'" ;

  }

  }

  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,大家根据实际情况自己选择使用。

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!