织梦DedeCMS搜索指定多个栏目的文档

针对织梦高级开发教程会用到,指定栏目搜索及多个栏目合并搜索的要求。织梦DedeCMS默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要修改后台文件才能实现。

1、在搜索框表单里加个typeid提交过去

例如

  <form name="search" action="/plus/search.php">    <input type="hidden" name="typeid" value="1,2,3">    </form>

2、打开/plus/search.php找到

  $typeid = (isset($typeid) && is_numeric($typeid)) ? $typeid : 0;

删除这一行后,继续找到

  $typeid = intval($typeid);

也删除这一行

 

3、打开 /include/arc.searchview.class.php 找到

$ksqls[] = " typeid IN (".GetSonIds($this->TypeID).") ";

改成

  //指定了多个栏目时    if( preg_match('#,#', $this->TypeID) )    {        $typeids = explode(',', $this->TypeID);        foreach($typeids as $ttid) {            $typeidss[] = GetSonIds($ttid);        }        $typeidStr = join(',', $typeidss);        $typeidss = explode(',', $typeidStr);        $typeidssok = array_unique($typeidss);        $typeid = join(',', $typeidssok);        $ksqls[] = " arc.typeid IN ($typeid) ";    }    else    {        $ksqls[] = " arc.typeid IN (".GetSonIds($this->TypeID).") ";    }

完成,这样就可以搜索指定的多个栏目的文章了。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容