评论

收藏

[织梦CMS] 织梦dede教程:不显示未审核文档的TAG的方法

建站程序 建站程序 发布于:2021-09-11 10:24 | 阅读数:260 | 评论:0

未审核文档的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;
通过以上两种方法就可以实现不显示未审核文档的tag了

关注下面的标签,发现更多相似文章