上一篇《DedeCMS 搜索结果中去除隐藏栏目的内容》讲到了去除搜索结果中的隐藏栏目内容,但是搜索结果中依然包含隐藏栏目的内容,下面我们就来去除搜索结果中的隐藏栏目内容的数量。
1、打开文件 include/arc.searchview.class.php ,找到方法 function CountRecord() ,我们将对此方法进行修改;
2、注销 function CountRecord() 中的以下语句:
$cquery = "SELECT * FROM `{$this->AddTable}` arc WHERE ".$this->AddSql;
3、注销掉这句代码后,在这句代码的上面添加以下代码:
/** 不搜索隐藏栏目下的文章 **/
$this->dsql->SetQuery("SELECT id FROM `#@__arctype` WHERE ishidden=1");
$this->dsql->Execute();
$hiddenColumnId = array();
while($row = $this->dsql->GetArray()){
$hiddenColumnId[] = $row['id'];
}
$hiddenColumnId = implode(',', $hiddenColumnId);
$cquery = "SELECT * FROM `{$this->AddTable}` arc WHERE arc.typeid NOT IN ({$hiddenColumnId}) AND".$this->AddSql;
/** 不搜索隐藏栏目下的文章 **/
这样就去掉了搜索结果中隐藏栏目内容的数量。
版权声明:本站部分内容来自互联网,若涉及版权问题请及时通知我们,我们将及时予以删除!谢谢大家的理解与支持!
发表评论