首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示SugarCRM SubPanel中具有匹配电子邮件地址的相关模块记录?

显示SugarCRM SubPanel中具有匹配电子邮件地址的相关模块记录?
EN

Stack Overflow用户
提问于 2015-02-23 22:20:17
回答 1查看 1.6K关注 0票数 4

我们在SugarCRM中有两个模块。

模块1=内置于Contacts模块

模块2=称为QMS模块的自定义模块。

我们希望能够在contact模块中创建一个新的contacts用户记录,然后在该联系人模块中有一个子面板,该子面板将显示与联系人记录相关的所有相关qms模块记录,这些记录具有相同的匹配email字段。

因此,要clarify...In contacts module,就有一个默认的email field

在我们的自定义qms module中,我们还有另一个email field

当您查看一个电子邮件字段值为contact moduletest@test.com记录时,它应该在子面板中显示任何具有匹配的email field值为test@test.comqms module records

这不是在SugarCRM CE 6.xx中的标准行为中构建的。有人知道我们怎样才能实现这样的功能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-03 01:41:37

要实现这一点,您需要创建一个自定义函数来获取子面板的数据。

在modules/parent_module/metadata/subpaneldefs.php中实现QMS子面板时

代码语言:javascript
复制
'qms' => array(
        'order' => 40,
        'module' => 'QMS',
        'sort_order' => 'desc',
        'sort_by' => 'date_closed',
        'get_subpanel_data' => 'function:get_qms_contacts_subpanel',
        ...
        ),

我们没有为get_subpanel_data提供链接字段,而是告诉它使用一个函数。这将告诉QMS子面板使用get_qms_contacts_subpanel函数获取相关记录。

然后在custom/Extension/application/Ext/Utils/some_file_name.php

构造一个函数,该函数将用于形成对记录的查询。

代码语言:javascript
复制
<?php

function get_qms_contacts_subpanel()
{
   return array(
        "select" => "select distinct qms.id",
        "from" => "from qms",
        "join" => "join contacts on contacts.qms_id = qmd.contact_id" /*Obviously not the actual query but you get the point*/
        "where" => "where qms.email = contacts.email" /*See above*/
    );
}

我希望这能帮到你。

有关一个示例,请参见模块/帐户/元数据/子Emails Defs.php,请参见电子邮件子面板如何获取电子邮件。

有关如何构造函数的更多信息,请选中include/utils.php以获取电子邮件子面板中使用的函数。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28684613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档