家明故事

[DedeCMS] 去除搜索结果总记录数中的隐藏栏目内容

家明 0 0

上一篇《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;
/** 不搜索隐藏栏目下的文章 **/

这样就去掉了搜索结果中隐藏栏目内容的数量。


标签:隐藏栏目  DedeCMS  织梦CMS  

打赏

发表评论