在SuiteCRM的模塊中新建了一個關(guān)聯(lián)類型列時, 選取關(guān)聯(lián)類型列的記錄時, 默認是該記錄的默認name列
例如在A模塊下有一個r關(guān)聯(lián)列(關(guān)聯(lián)到B模塊的記錄),在A中選取r的時候,默認是返回B模塊記錄下的name列
如果你的name列設(shè)置為非必填而且都是空值的情況下,那么A列中的r值也會是空的
解決方法是修改在vardefs.php中修改r里的rname的值,賦予B模塊下你想顯示的數(shù)據(jù)列名
修改步驟如下:
1)在modules/[the module name]/vardefs.php或custom/Extension/modules/[the module name]/Ext/Vardefs下新建php文件
*是否在custom文件夾下新建取決于你的數(shù)據(jù)列是否后期在工作室里新建
*請勿在custom/module/[the module name]/Ext/Vardefs和custom/Extension/modules/[the module name]/Ext/Vardefs中修改現(xiàn)有文件,否則修改完會被覆蓋
2)新加上該語句:
$dictionary['A MODULE']['fields']['R']['rname']='THE COL OF B MODULE';
R代表該關(guān)聯(lián)數(shù)據(jù)列的列名
The Col of B Module為模塊B里你想顯示出來的數(shù)據(jù)列名
3)在系統(tǒng)中點擊修復(fù)即可正常使用
2021-02-02修改:
如果想將B模塊下的列信息用于A模塊,可以在custom/modules/[A module name]/metadata/editviewdefs.php下,找到R列數(shù)據(jù),添加displayParams數(shù)組,如下:
array (
'name' => 'R',
'displayParams' => array(
'field_to_name_array' => array(
'id' => 'cont_contractproducts_id_c',
'B field 1' => 'A field 1',
'B field 2' => 'A field 2',
'B field 3' => 'A field 3',
.......
),
),
),