【问题标题】:Change display name of Vtiger field更改 Vtiger 字段的显示名称
【发布时间】:2019-05-02 20:35:10
【问题描述】:

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

【问题讨论】:

    标签: php vtiger vtigercrm


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        您必须更改模块标识符。如果您曾经尝试找到更新模块标识符(在模块中用作链接的字段)的选项,您很可能已经注意到 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);
        

        如果您需要将其还原或进行备份,则需要备份表 vtiger_entityname

        【讨论】:

        • 对于现有记录(旧记录),您必须更改 vtiger_crmentity 表中的标签列
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-07
        • 1970-01-01
        相关资源
        最近更新 更多