织梦DedeCMS默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要修改后台文件才能实现。
1、在搜索框表单里加个typeid提交过去
例如
<formname="search"action="/plus/search.php"> <inputtype="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[]="typeidIN(".GetSonIds($this->TypeID).")";
改成
//指定了多个栏目时 if(preg_match('#,#',$this->TypeID)) { $typeids=explode(',',$this->TypeID); foreach($typeidsas$ttid) { $typeidss[]=GetSonIds($ttid); } $typeidStr=join(',',$typeidss); $typeidss=explode(',',$typeidStr); $typeidssok=array_unique($typeidss); $typeid=join(',',$typeidssok); $ksqls[]="arc.typeidIN($typeid)"; } else { $ksqls[]="arc.typeidIN(".GetSonIds($this->TypeID).")"; }
完成,这样就可以搜索指定的多个栏目的文章了。