dedecms指定栏目搜索或指定搜索多个栏目的文档

2021年2月22日13:43:51 发表评论
微信搜一搜 ts小陈

dedecms指定栏目搜索或指定搜索多个栏目的文档

织梦默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要加装修改才能实现。

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

例如

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

2、打开/plus/search.php找到

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

删除这一行后,继续找到

  1. $typeid = intval($typeid);

也删除这一行

3、打开 /include/arc.searchview.class.php 找到

  1. $ksqls[] = " typeid IN (".GetSonIds($this->TypeID).") ";

改成

  1. //指定了多个栏目时
  2. if( preg_match('#,#', $this->TypeID) )
  3. {
  4.     $typeids = explode(',', $this->TypeID);
  5.     foreach($typeids as $ttid) {
  6.         $typeidss[] = GetSonIds($ttid);
  7.     }
  8.     $typeidStr = join(',', $typeidss);
  9.     $typeidss = explode(',', $typeidStr);
  10.     $typeidssok = array_unique($typeidss);
  11.     $typeid = join(',', $typeidssok);
  12.     $ksqls[] = " arc.typeid IN ($typeid) ";
  13. }
  14. else
  15. {
  16.     $ksqls[] = " arc.typeid IN (".GetSonIds($this->TypeID).") ";
  17. }

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

小陈号卡
ts小陈

发表评论(不允许含有网址!)

:?: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :cry: :mrgreen: :neutral: :razz:

已登录用户不需要填写以下内容