织梦默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要加装修改才能实现。
1、在搜索框表单里加个typeid提交过去
例如
- <form name="formsearch" 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).") ";
- }
完成,这样就可以搜索指定的多个栏目的文章了。