Redirect Sugarcrm DCMenu Qucik创建|保存后重定向

Redirect Sugarcrm DCMenu Qucik创建|保存后重定向,redirect,sugarcrm,Redirect,Sugarcrm,我通过SugarCRM中的DC菜单加载视图,在帐户的详细视图中单击按钮,即可显示自定义模块付款的快速创建视图。 我想要的是,当我单击QuickCreate视图的save按钮保存值时,我想将用户重定向到新创建的记录 在支付模块的after save逻辑钩子中,我尝试了所有这些 1) 使用JavaScriptwindow.location.href进行重定向 2) SugarApplication::redirect() 3) 更改了$\u POST['return\u module']、$\u P

我通过SugarCRM中的DC菜单加载视图,在帐户的
详细视图中单击按钮,即可显示自定义模块付款的快速创建视图。
我想要的是,当我单击QuickCreate视图的save按钮保存值时,我想将用户重定向到新创建的记录

在支付模块的after save逻辑钩子中,我尝试了所有这些

1) 使用JavaScript
window.location.href
进行重定向

2)
SugarApplication::redirect()

3) 更改了
$\u POST['return\u module']
$\u POST['return\u action']
$\u POST['return\u id']


然而,在以正确的方式应用上述所有内容后,页面不会重定向。我正在为Accounts模块使用
AJAX UI

如果您使用此自定义项以完整形式重定向用户,而不是快速创建,您上面描述的代码可能会起作用。

我找到了一种解决方法,它显然不适合升级,但确实起到了作用

我所做的是在为CustomModule保存后创建一个逻辑钩子,并将其索引到一个更大的数字,如

$hook_array['after_save'][] = array(20,
在这个钩子中,在自定义逻辑完成后,我检查了AJAX调用,并完成了如下过程

if($_REQUEST['is_ajax_call'] == 1)
{
    echo '{"status":"redirect","url":"index.php?module=lev_payment_schedules&action=DetailView&record='.$bean->id.'&CreatePayment=true"}';
    die();
}
现在在DCMenu.js文件中,位于

jssource\src\u文件\include\DashletContainer\Containers\DCMenu.js

我为我刚才回显的输出添加了一个条件

DCMenu.save
功能中,仅在
开关(returnData.status)
块中,我将自定义案例条件添加为

case 'redirect':                                
    ajaxStatus.flashStatus(SUGAR.language.get('app_strings','LBL_SAVED'),2000);
    window.location.href = returnData.url;                              
   break;

这对我起到了作用,浏览器被重定向到我提供的URL。我希望这能帮助别人。

这是为哪个版本的Sugar设计的?SugarPRO版本6.4.4