代理加盟

2023全新代理计划,一站式模板建站,铜牌代理低至699元送终身VIP,独立代理后台,自营贴牌。

您现在的位置: 麦站网 > 织梦大学 > 使用教程 >

织梦DedeCMS搜索指定多个栏目的文档

来源:本站原创 发布时间:2019-11-26 12:09:31热度:我要评论(0

麦站模板建站平台(10年经验),服务数万家企业,固定透明报价。域名注册、主机/服务器、网站源码一站式服务。实体公司,专业团队,值得选择!超过1000套模板已登记版权,合规合法建站,规避版权风险!【点击获取方案】

针对织梦高级开发教程会用到,指定栏目搜索及多个栏目合并搜索的要求。织梦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).") ";

}

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

    转载请注明来源网址:https://www.xiuzhanwang.com/dedecms_jq/1949.html

    发表评论

    评论列表(条)

       
      QQ在线咨询
      VIP限时特惠