主页 > 建站教程 > 织梦CMS教程 > DedeCMS织梦搜索指定多个栏目的文档方法技巧

DedeCMS织梦搜索指定多个栏目的文档方法技巧

人参与 时间:2020-02-17  分类:织梦CMS教程

针对织梦高级开发教程会用到,指定栏目搜索及多个栏目合并搜索的要求。织梦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).") ";

 

}

 

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


上一篇:织梦dedecms文章来源和作者不填或者为空时隐藏

下一篇:dedecms织梦登录注册不显示验证码,完美解决方法

嘿,我来帮您!