蓝莓博客

  • 今天是

织梦DedeCMS搜索指定栏目文档教程(支持搜索多个

摘要:织梦DedeCMS默认的搜索可以搜索全站文章,不能搜索指定的多个栏目,需要修改dedecms程序才能实现。 打开/plus/search.php找到 $typeid=(isset($typeid)is_numeric($typeid))?$typeid:0; 删除这一行后,继续......
分享到:

织梦DedeCMS默认的搜索可以搜索全站文章,不能搜索指定的多个栏目,需要修改dedecms程序才能实现。

打开/plus/search.php找到

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

删除这一行后,继续找到

$typeid = intval($typeid);

也删除这一行

打开 /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).") ";}

在搜索框表单里指定栏目的typeid

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

注意标红的地方,value里面是栏目ID。


来源于蓝莓原文地址: http://www.xiyi88.cn/xq/dede_1071.html