SugarCRM可在detailview中安装的更改

SugarCRM可在detailview中安装的更改,sugarcrm,Sugarcrm,我有一个简单的问题,但对我来说可能很严重,我创建了自定义字段,并将它们全部添加到Leads模块的custom\modules\Leads\metadata\detailviewdefs.php(detailview布局)中,但问题是我必须进行更改的安装程序包。我使用自定义字段进行管理,并通过清单将它们复制到custom\Extension\modules\Leads\Ext\Vardefs中。现在我不知道如何通过清单(detailview中的“添加新字段”面板)应用detailviewdefs更

我有一个简单的问题,但对我来说可能很严重,我创建了自定义字段,并将它们全部添加到Leads模块的
custom\modules\Leads\metadata\detailviewdefs.php
(detailview布局)中,但问题是我必须进行更改的安装程序包。我使用自定义字段进行管理,并通过清单将它们复制到
custom\Extension\modules\Leads\Ext\Vardefs
中。现在我不知道如何通过清单(detailview中的“添加新字段”面板)应用detailviewdefs更改。关键是不应更改现有的detailview布局,而应在其中添加一个新面板

在我看来,可能的解决方案是,我应该在$layout\u defs数组中添加代码
$layout\u defs[“Leads”][“DetailView”][“panels”][“panels”][“panel\u name”]
并将其放置在
custom\Extension\modules\Leads\Ext\Layoutdefs\
中,然后通过清单复制Layoutdefs文件。我试过这个,但似乎没用。 寻找智能解决方案共享,如果可以的话

添加:
即使我从
Studio->export Customizations
导出模块更改,并在其他实例中使用
module builder
导入。它覆盖了较新实例中所有以前的自定义文件(自定义)(这在SugarCRM中不是一个限制),但我的要求是只在较新实例的detailview中添加更改

这是一个困难的问题。我知道有两种选择。1) 在post_install.php脚本中向用户提供如何使用Studio 2将字段添加到布局的说明,该脚本模拟Studio布局部署如何将字段插入任何给定布局(最佳做法是,如果大量分发,则为所有字段创建一个新面板)。这些函数将同时向
editview
detail view
添加/删除字段。只需在
安装后/安装前添加以下行即可
无需任何要求

   $installer_func = new ModuleInstaller();
   $layoutAdditions = array('Users' => 'users_access');
要在
users
模块中添加
users\u访问
字段:

   $installer_func->addFieldsToLayout($layoutAdditions);
   $installer_func->removeFieldsFromLayout($layoutAdditions);
要从
用户
模块中删除
用户访问
字段:

   $installer_func->addFieldsToLayout($layoutAdditions);
   $installer_func->removeFieldsFromLayout($layoutAdditions);
希望有帮助


mansoor

tHank's@egg to answer,第一个选项不适合我的情况,因为我的字段不太容易从studio添加(具有自定义代码),所以我现在选择第二个选项,希望它能解决我的问题…你的解决方案听起来很有趣。但请告诉我是否可以使用自定义js代码添加新元素,例如:某个文本框的onblur。此外,如果联系人中有一个现有元素,例如:first_name,我想在其上添加onblur函数。我如何才能做到这一点?