SugarCRM可以';t访问两个模块的关系
所以我要发疯了,我不妨告诉你我做的一切,也许你可以帮我 我是按需版的糖 我需要关联2个自定义模块,因此我使用模块生成器为它们创建了一个包: 自定义模块是表单和映射。然后我在两者之间建立了如下关系: 之后,我将包部署到sugar实例,并继续创建一些测试数据 然后在我的自定义入口点上,我希望获得与特定表单相关的映射,因此这是我的代码: 但当我尝试调用我的入口点时,它不会返回任何与表单相关的映射,下面是一个示例:SugarCRM可以';t访问两个模块的关系,sugarcrm,Sugarcrm,所以我要发疯了,我不妨告诉你我做的一切,也许你可以帮我 我是按需版的糖 我需要关联2个自定义模块,因此我使用模块生成器为它们创建了一个包: 自定义模块是表单和映射。然后我在两者之间建立了如下关系: 之后,我将包部署到sugar实例,并继续创建一些测试数据 然后在我的自定义入口点上,我希望获得与特定表单相关的映射,因此这是我的代码: 但当我尝试调用我的入口点时,它不会返回任何与表单相关的映射,下面是一个示例: 在这个例子中,地图没有回声,我只是找不到问题所在。任何帮助都将不胜感激 我也有
在这个例子中,地图没有回声,我只是找不到问题所在。任何帮助都将不胜感激 我也有负荷关系方面的问题。在大多数情况下,问题在于您的案例中的$rel_map参数。modules/Leads/views/view.convertleads.php中有一个Sugar函数:
protected function findRelationship(
$from,
$to
)
{
global $dictionary;
require_once("modules/TableDictionary.php");
foreach ($from->field_defs as $field=>$def)
{
if (isset($def['type']) && $def['type'] == "link" && isset($def['relationship']))
{
$rel_name = $def['relationship'];
$rel_def = "";
if (isset($dictionary[$from->object_name]['relationships']) && isset($dictionary[$from->object_name]['relationships'][$rel_name]))
{
$rel_def = $dictionary[$from->object_name]['relationships'][$rel_name];
}
else if (isset($dictionary[$to->object_name]['relationships']) && isset($dictionary[$to->object_name]['relationships'][$rel_name]))
{
$rel_def = $dictionary[$to->object_name]['relationships'][$rel_name];
}
else if (isset($dictionary[$rel_name]) && isset($dictionary[$rel_name]['relationships'])
&& isset($dictionary[$rel_name]['relationships'][$rel_name]))
{
$rel_def = $dictionary[$rel_name]['relationships'][$rel_name];
}
if (!empty($rel_def)) {
if ($rel_def['lhs_module'] == $from->module_dir && $rel_def['rhs_module'] == $to->module_dir )
{
return $field;
}
else if ($rel_def['rhs_module'] == $from->module_dir && $rel_def['lhs_module'] == $to->module_dir )
{
return $field;
}
}
}
}
return false;
}
如果给定每个模块的bean作为param,它将返回load_关系所需的值。
在代码“$def['type']==”link“中,您可以看到它获取的是链接,而不是关系
简而言之:在d_表单模块中获取关系的链接名,以便在加载关系中使用,而不是关系名是否与此相同:我尝试了此操作,但没有成功