更改 Vtiger 字段的显示名称

Change display name of Vtiger field

我想知道如何在将自定义模块链接到现有模块(例如帐户模块)时更改 Vtiger 7 中字段的显示名称(在视图模式下)。它一直显示默认编号字段。 请查看以下两张图片:我会将图片 1 中的文本 "INSURANCE-21" 替换为保险公司名称,例如图片 2 中的 "Williams Insurance Group"。 有什么想法吗?

经过一整天的寻找,我想出了一个解决方案。 不确定是否有任何缺点。但这是有效的修复方法: 我更新了此 table vtiger_entityname 并将列 fieldname 设置为我想用作相关模块显示名称的字段名称。

希望它能帮助任何想要达到相同结果的人。

请将Insurance Company Name的字段名查找到数据库中。 例如,如果字段名称像 insurance_company_name 那么查询就会变成这样

UPDATE `vtiger_entityname` SET  `fieldname`="insurance_company_name" WHERE `modulename` ='Accounts' and `tablename` = 'vtiger_account';

您必须更改模块标识符。如果你曾经试图找到一个选项来更新模块标识符(在模块中作为 link 工作的字段)你很可能已经注意到 vtiger 不允许从字段编辑器中这样做。唯一的方法是使用名为 Vtlib 的 vtiger 开发库。

使用以下代码:

 // Turn on debugging level
 $Vtiger_Utils_Log = true;
 $targetmodule = 'InsuranceCompanies';
 $targetfield = 'insurance_company_name';
 include_once('vtlib/Vtiger/Module.php');
 include_once('vtlib/Vtiger/Field.php');

 $module = Vtiger_Module::getInstance($targetmodule);
 $field = Vtiger_Field::getInstance($targetfield, $module);

 $module->unsetEntityIdentifier();
 $module->setEntityIdentifier($field);

如果您需要恢复或备份,您需要备份 table vtiger_entityname