针对织梦高级开发教程会用到,指定栏目搜索及多个栏目合并搜索的要求。织梦DedeCMS默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要修改后台文件才能实现。

1、在搜索框表单里加个typeid提交过去

例如

<form name="search" 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).") ";

}

完成,这样就可以搜索指定的多个栏目的文章了。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。