织梦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).")";
}完成,这样就可以搜索指定的多个栏目的文章了。
