-->

在SugarCRM公司的DetailView安装变化(SugarCRM installable ch

2019-08-01 07:04发布

我有一个简单的问题,但可能是严重的对我来说,我做了自定义字段,并添加他们都在custom\modules\Leads\metadata\detailviewdefs.php信息模块,但问题(的DetailView布局)是我必须做一个安装程序包装的变化。 我的自定义字段管理和复制他们custom\Extension\modules\Leads\Ext\Vardefs通过清单。 现在,我不知道如何通过应用明显变化detailviewdefs(在的DetailView添加新字段面板)。 问题的关键是,现有的DetailView布局不应改变,但只有在它添加一个新的面板。

在我的脑海里可能的解决方案是我应该在$ layout_defs阵列添加代码$layout_defs["Leads"]["DetailView"] ['panels']['panel_name']中,并把它custom\Extension\modules\Leads\Ext\Layoutdefs\复制Layoutdefs通过清单文件。 我试过,但似乎没有一个工作。 如果你能寻找一个聪明的解决方案的份额。

此外:即使我出口从模块的变化Studio ->export Customizations ,并与其他实例导入module builder 。 它覆盖所有以前的自定义文件(自定义)在新的情况下( 这难道不是在SugarCRM的限制 ),但我的要求是添加在新情况下的唯一的DetailView变化。

Answer 1:

这是一个艰难的一个。 有迹象表明,我所知道的两个选项。 1)提供方向用户了解如何将字段添加到使用Studio版本2)在post_install.php脚本布局模仿工作室布局部署工作如何将您的领域为任何给定的布局(最好的做法是创建一个新的面板为您的所有领域,如果质量分布)的。



Answer 2:

我发现在糖的功能ModuleInstaller类通过从布局添加或删除字段manifest script 。 这些功能将添加/删除以两个字段editviewdetail view在同一时间。 只需添加下面的行post_install / pre_install没有必要要求什么,

   $installer_func = new ModuleInstaller();
   $layoutAdditions = array('Users' => 'users_access');

要添加users_access在外地Users模块:

   $installer_func->addFieldsToLayout($layoutAdditions);

要删除users_access从外地Users模块:

   $installer_func->removeFieldsFromLayout($layoutAdditions);

希望它的帮助。

曼苏尔



文章来源: SugarCRM installable changes in detailview
标签: sugarcrm