1

我在按钮上显示自定义模块付款的快速创建视图单击detail View of Accounts via DC menu load view in SugarCRM. 我想要的是当我在单击 QuickCreate 视图的保存按钮时保存值时,我想将用户重定向到新创建的记录。

在支付模块的保存后逻辑挂钩中,我尝试了所有这些

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

2) SugarApplication::redirect();

3) 改变了$_POST['return_module'],$_POST['return_action']$_POST['return_id']

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

4

2 回答 2

0

我找到了一种解决方法,它显然不是升级安全的,但可以解决问题。

我所做的是在 after_save 上为 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_files\include\DashletContainer\Containers\DCMenu.js

我为上面刚刚回显的输出添加了一个条件。

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

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

这对我有用,浏览器被重定向到我提供的 URL。我希望这可以帮助别人。

于 2013-05-28T10:29:36.670 回答
0

如果您使用此自定义http://support.sugarcrm.com/04_Find_Answers/03_Developers/100Customization/Modifying_Subpanel_Action_Buttons以完整形式重定向用户而不是快速创建,则上述代码应该可以工作。

于 2013-03-26T20:31:16.420 回答