织梦搜索指定多个栏目的文档
织梦默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要加装修改才能实现。
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).\") \";
}
完成,这样就可以搜索指定的多个栏目的文章了。
千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。