Sugarcrm 自定义模块子面板
所以我有两个自定义模块。他们是一对多相关的。 模块A vardef有:`'lm_contacts'=>Sugarcrm 自定义模块子面板,sugarcrm,Sugarcrm,所以我有两个自定义模块。他们是一对多相关的。 模块A vardef有:`'lm_contacts'=> array( 'name' => 'lm_contacts', 'type' => 'link', 'relationship' => 'lm_contacts_relation', 'source' => 'non-db', 'vname' => 'LBL_LEADS', ), 'relationships' => array (
array(
'name' => 'lm_contacts',
'type' => 'link',
'relationship' => 'lm_contacts_relation',
'source' => 'non-db',
'vname' => 'LBL_LEADS',
),
'relationships' =>
array (
'lm_contacts_relation' =>
array (
'lhs_module' => 'LM_LM_Objektas',
'lhs_table' => 'lm_lm_objektas',
'lhs_key' => 'id',
'rhs_module' => 'LM_LM_contact_person',
'rhs_table' => 'lm_lm_contact_person',
'rhs_key' => 'lm_object ',
'relationship_type' => 'one-to-many',
),
),
模块a具有子面板F:
$layout_defs['LM_LM_Objektas'] = array(
// list of what Subpanels to show in the DetailView
'subpanel_setup' =>
array(
'lm_contacts' =>
array(
'order' => 10,
'module' => 'LM_LM_contact_person',
'subpanel_name' => 'default',
'sort_order' => 'asc',
//'sort_by' => 'id',
'title_key' => 'LBL_CONTACT_SUBPANEL_TITLE',
'get_subpanel_data' => 'lm_contacts',
'add_subpanel_data' => 'lm_contacts_id',
'top_buttons' =>
array (
0 =>
array (
'widget_class' => 'SubPanelTopButtonQuickCreate',
),
1 =>
array (
'widget_class' => 'SubPanelTopSelectButton',
'mode' => 'MultiSelect',
'popup_module' => 'LM_LM_contact_person',
),
),
),
),
);
现在模块a:lm_对象确实正确地显示了子面板,但当我试图通过子面板快速创建按钮向lm_联系人模块添加新请求时,记录确实创建了,但没有创建字段“'rhs_key'=>'lm_对象'的实现数据。因此,自然不会显示子面板上的新记录。
我错过了什么?
谢谢 很抱歉反应太晚,但我可以解释: 你没有做错什么,这是我在糖中发现的一种虫子 通过快速创建创建的记录与您所在的活动记录相关的原因是,快速创建按钮有一个隐藏表单,当前记录的id映射到子面板模块用于该关系的字段。但是,当您创建自定义模块时,快速创建假定relate字段将是“moduleA_moduleB_id”,它用于Sugar中的库存模块。但是,当您在Sugar中创建自定义模块时,它会截断所有关系字段(在Bean和数据库中),使它们不超过25个字符 长话短说,快速创建代码假设将两者链接在一起的字段将具有与股票模块关系相同的约定,这是错误的 在不修复代码(或等待Sugar的bug修复)的情况下避免这种情况的唯一方法是确保自定义模块的名称少于10个字符,包括它放在前面的键(因此实际上最多应该是5-6个字符) 我在自己安装的Sugar中更新了代码,并报告了错误。它可能会在下一次更新中修复
我会解释如何在您的股票实例中修复它,但我担心这只会使问题更加复杂。但是,如果您仍然需要修复此问题,请告诉我,我将发布实际代码。因此,如果您转到另一个模块的非快速创建,您是否可以选择设置与第一个模块的关系,如果可以,这些关系是否显示在第一个模块的子面板中?您是否对此进行了修复,或者是否有错误报告?