2011-05-06 66 views
0

我们对Sugar CRM相当陌生,所以我希望我所面临的问题更多地来自于对系统如何工作的一般误解。更改SugarCRM搜索功能

我们已经使用模块生成器在Sugar CRM Community中添加了一个新模块。其中一个字段是针对每个用户都独有的clientId的。然而,我们有clientId的长度不同(我们无法再修复),而不是似乎是搜索系统使用“LIKE”运算符的默认功能,我们希望更新它,以便在系统通过clientId搜索它寻找完全匹配。 (所以如果我们搜索clientId 1 - 只有1出现,不是每个以1开头的客户端ID)。

我们的问题是,我们无法看到代码中的哪个位置或需要更新以进行此更改的设置。我们已经尝试对Include部分的SearchForm.php文件进行一些更改,包括覆盖,将$ opertor更改为'=',并在generateSearchWhere函数中构建where子句时将'LIKE'更改为匹配'=' ,但这些似乎都没有改变搜索行为。所以我们希望有人能够知道代码中的哪些地方(或者更好 - 界面,所以我们不必更改代码),为了进行这种更改,我们需要查看。

任何帮助,将不胜感激!

感谢

回答

2

对于一些基本面,看SugarCRM documentation。但是,它不是很详细。

我的经验,这应该足以只添加/更新:

  • /custom/modules/<module>/metadata/SearchFields.php

和使用这样的:

$searchFields['module']['field'] = array(
    'query_type' => 'default', 
    'operator' => '='); 

(更换模块和场您的相应值)

记住清除任何缓存并在之后重建SugarCRM。