织梦默认的搜索功能,是只可以搜索全部栏目或者指定的搜索某一个栏目,而不能搜索指定的多个栏目,需要二次开发修改才能实现,方法如下:
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).") ";
}
举例:
<form name="formsearch" action="/plus/search.php">
<input class="text" type="text" id="search-keyword" name="q" value="">
<input type="hidden" name="typeid" value="1,5">
<input class="btn" type="submit" value="0"/>
</form>
例子中就是指定ID1和5栏目的搜索范围。
以上修改后台文件后,在前调用就可以实现指定多个栏目范围搜索了。
以上就是关于【织梦搜索页指定多个栏目范围搜索的方法】的文章内容,如果您还想了解更多关于网站建设与网络推广的相关文章,请继续查看【织梦教程】栏目的其它文章
来源www.7y8d.com广州明行威,致力于中小企业网络营销推广、整体外包运营(网站建设、SEM、SEO等)、企业SEO内训、信息流广告运营
欢迎交流 加微信13430336474 广州张楷
上一篇:在文章或列表页面中调用顶级栏目链接的方法 下一篇:织梦channelartlist指定栏目调用二级栏目和三级栏目实现方法