联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
搜索链接怎么自定义参数和多关键词搜索结果呢栏目自定义字段关键
类型:迅睿CMS 更新时间:2020-07-13 22:51:13 关键词 搜索 字段 栏目

搜索链接怎么自定义参数和多关键词搜索结果呢

index.php?s=store&c=search&catid=栏目id&自定义字段=关键词1,关键词2


关键词1,关键词2是联动菜单的值

回帖
  • #1楼    迅睿框架创始人
    2020-07-13 18:42:05
    Google Pixel 手机 0
  • 易学习
    #2楼    易学习
    2020-07-13 19:23:10
    Chrome 0

    我们以Demo模块为例,新建App/Demo/Models/Search.php

    <?php namespace Phpcmf\Model\Demo;
    
    // 模块内容搜索类
    
    class Search extends \Phpcmf\Model\Search {
    
        // 获取搜索参数
        public function get_param($module) {
    
            list($catid, $get) = parent::get_param($module);
          
             // 这里可以重组$get变量
          
            return [$catid, $get];
        }
        
        // 自定义组合查询条件
        protected function mysearch($module, $where, $get) {
        
            // 重新对where条件的组装
            $zhms = $get['zhms'];
            if ($zhms) {
                $arr = explode(',', $zhms);
                $wh = [];
                foreach ($zhms as $t) {
                    $wh[] = "`zhms` like %".$t."%";
                }
                $where['zhms'] = "(".implode(' OR ', $wh).")";
            }
            
        
            // 比如我加一个条件作为搜索条件
            // $where[] = "zt=1"; // 表加一个zt字段=1的数据
            return $where;
        }
    }
  • 易学习
    #3楼    易学习
    2020-07-13 22:17:31
    Chrome 0
    <?php namespace Phpcmf\Model\Demo;
    
    // 模块内容搜索类
    
    class Search extends \Phpcmf\Model\Search {
    
        // 获取搜索参数
        public function get_param($module) {
    
            list($catid, $get) = parent::get_param($module);
          
             // 这里可以重组$get变量
          
            return [$catid, $get];
        }
        
        // 自定义组合查询条件
        protected function mysearch($module, $where, $get) {
        
            // 重新对where条件的组装
            $zhms = $get['zhms'];
            if ($zhms) {
                $arr = explode(',', $zhms);
                $wh = [];
                foreach ($arr as $t) {
                    $wh[] = "`zhms` like %".$t."%";
                }
                $where['zhms'] = "(".implode(' OR ', $wh).")";
            }
            
        
            // 比如我加一个条件作为搜索条件
            // $where[] = "zt=1"; // 表加一个zt字段=1的数据
            return $where;
        }
    }
  • 易学习
    #4楼    易学习
    2020-07-13 22:38:11
    Chrome 0
    <?php namespace Phpcmf\Model\Demo;
    
    // 模块内容搜索类
    
    class Search extends \Phpcmf\Model\Search {
    
        // 获取搜索参数
        public function get_param($module) {
    
            list($catid, $get) = parent::get_param($module);
          
             // 这里可以重组$get变量
          
            return [$catid, $get];
        }
        
        // 自定义组合查询条件
        protected function mysearch($module, $where, $get) {
        
            // 重新对where条件的组装
            $zhms = $get['zhms'];
            foreach ($where as $i => $v) {
            if ($zhms && strpos($v, 'zhms')) {
                $arr = explode(',', $zhms);
                $wh = [];
                foreach ($arr as $t) {
                    $wh[] = "`zhms` like '%".$t."%'";
                }
                $where[$i] = "(".implode(' OR ', $wh).")";
            }
            }
        
            // 比如我加一个条件作为搜索条件
            // $where[] = "zt=1"; // 表加一个zt字段=1的数据
            return $where;
        }
    }
    满意答案
  • 志伟
    #5楼    志伟
    2020-07-13 22:51:00
    Chrome 0
    易学习亲测 兄弟这个方法好使,管用啊 解决了我一天的困扰。技术棒棒
  • 志伟
    #6楼    志伟
    2020-07-13 22:51:13
    Chrome 0
    @易学习:谢谢兄弟