[Sugar_dev]name以外でも検索がしたい

SugarCRMの各モジュールのリスト画面に検索用のテキストフィールドがありますが、ここで検索出来るのは、基本的にフィールド名が「name」のもののみとなっています。
しかし、運用上「通し番号で検索したい」だったり「商品名称よりも型番で検索した方が早い」といった場面もあるでしょう。
 







そこで、「name」以外のフィールドで検索するためのカスタマイズ方法を、以下に記載します。
アップグレードセーフかつ、モジュールごとにカスタマイズ可能です。

配置するファイルとその場所は以下になります。
(sugarroot)/custom/modules/(対象モジュール)/clients/base/filters/default/default.php
以下から元ネタになるファイルをコピーしておくと、カスタマイズが楽になります。
(sugarroot)/modules/(対象モジュール)/clients/base/filters/default/default.php

本ファイルには、以下の配列定義がなされていることが確認出来ます。
$viewdefs[‘(モジュール名)’][‘base’][‘filter’][‘default’] = array( … );
この配列に対して、次の要素を追記します。
  'quicksearch_field' => array('name', '(検索対象にするフィールド名)', ),
  'quicksearch_priority' => 1,



quicksearch_priorityは、name要素以外で検索するか否かのフラグの役割を担っているようです。

その後、管理メニューからクイックリペアを実施することで、本定義が有効になります。





 

Filed under: 開発部ブログ