SuiteCRM:从保存前挂钩逻辑重定向到编辑视图

Sye*_*sir 5 php redirect sugarcrm suitecrm

从 beforesave 钩子逻辑重定向到 editview

如果其中发生错误,我尝试从保存挂钩逻辑之前重定向。它应该重定向到带有错误的编辑视图。我正在使用以下代码:

function ShowError($errorMsg,$beanID){
    try{
        SugarApplication::appendErrorMessage('An error has been occured: '.$errorMsg);
        $params = array(
            'module'=> 'ad123_Ads',
            'action'=>'EditView', 
            'id' => $beanID
        );
        SugarApplication::redirect('index.php?' . http_build_query($params));
    } catch (Exception $e) {
        echo 'Caught exception: ',  $e, "\n";
    }

}
Run Code Online (Sandbox Code Playgroud)

但问题是重定向后所有字段都未填充。

mrb*_*tta 1

其中一个参数是错误的,必须用它record来代替id

尝试这个:

try{
         SugarApplication::appendErrorMessage('An error has been occured: '.$errorMsg);
                $params = array(
                  'module'=> 'ad123_Ads',
                  'action'=>'EditView', 
                  'record' => $beanID
                );
        SugarApplication::redirect('index.php?' . http_build_query($params));
            }
    catch (Exception $e) {
          echo 'Caught exception: ',  $e, "\n";
        }
Run Code Online (Sandbox Code Playgroud)

我不建议进行这种验证,因为您将丢失对表单所做的更改。通常,您必须在提交之前进行 JS 验证,以便用户有时间在提交之前纠正错误并丢失所有更改。