Chinaunix首页 | 论坛 | 博客
  • 博客访问: 274182
  • 博文数量: 66
  • 博客积分: 2636
  • 博客等级: 少校
  • 技术积分: 762
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-25 16:40
文章存档

2013年(1)

2012年(2)

2011年(8)

2010年(15)

2009年(40)

我的朋友

分类: 系统运维

2013-02-05 20:56:14

    最近接触SugarCRM,一款非常不错个CRM软件。开源,功能强大,插件众多。在下载和使用了一下后发现无法进行模糊搜索,也就是不能任意关键字搜索。比如: 深圳市蓝博科技有限公司 你直接搜索 蓝博就没办法搜索。在SugarCRM的论坛中文区找到了方法:%关键字%,这样搜索就可以了。

    可是不是所有的用户在使用搜索的时候都会添加%,这里我们可以通过修改源文件达到目的,这就是使用开源软件的好处。

    一、修include/utils.php中的generate_search_where()函数,将:

    case 'like' :

        $where .=  $db_field . " like ".$field_value.$like_char."'";break;

    修改为:

    case 'like' :

        $where .=  $db_field . " like ".$like_char.$field_value.$like_char."'";break;

 

    二、修改include/SearchForm/SearchForm.php中的generateSearchWhere()函数,将:

    case 'like' :

        $where .=  $db_field . " like ".$field_value.$like_char."'";break;

    修改为:

    case 'like' :

        $where .=  $db_field . " like ".$like_char.$field_value.$like_char."'";break;

 

    三、修改include/SearchForm/SearchForm2.php中的generateSearchWhere()函数,将:

        }else{
            //no space was found, add normal where clause
            $where .=  $db_field . " like '".$field_value.$like_char."'"; 
         }
    }else{
      //field is not last name or this is not from global unified search, so do normal where clause
      $where .=  $db_field . " like '".$field_value.$like_char."'";

    }

    修改为:

        }else{
            //no space was found, add normal where clause
            $where .=  $db_field . " like '".$like_char.$field_value.$like_char."'"; 
         }
    }else{
      //field is not last name or this is not from global unified search, so do normal where clause
      $where .=  $db_field . " like '".$like_char.$field_value.$like_char."'";

    }

这样,所有的字段都支持模糊搜索啦!

 

阅读(3625) | 评论(0) | 转发(0) |
0

上一篇:wince系统报错总结

下一篇:没有了

给主人留下些什么吧!~~