在 SilverStripe 中对扩展 class 调用重定向

Call redirect on extended class in SilverStripe

我已经扩展了 class 的 SubmittedForm,所以我可以在表单提交后添加我的逻辑。

您可以在我的 DataExtension 中看到函数 updateAfterProcess,一切正常,除了我想在此函数中从此处重定向。

    class MyForm extends DataExtension
    {

        static $db = array();

        public function updateAfterProcess(){
            // $this->redirect('www.google.com');
            // want to redirect here 
        }
    }

SubmittedForm:
  default_sort: 'Created DESC'
  extensions:
    - MyForm

SubmittedFormDataObject 而不是 Controller。因此它也没有 redirect 方法。

我认为你最好的选择是使用 Controller::curr(),它将获得当前控制器。

示例:

Controller::curr()->redirect(/* where you wanna go */);