2016-12-02 43 views
1

我已经扩展了类SubmittedForm,所以我可以在形式子子提供之后添加我的逻辑。在SilverStripe的扩展类上调用重定向

您可以在我的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 
+0

您应该能够使用'$这个 - >重定向(...)'除非你有你的类'redirect'功能。你也可以尝试'parent :: redirect(...)'。 – Peter

+0

致命错误:调用未定义的方法DataExtension :: redirect()在/opt/lampp/htdocs/freelottofest/mysite/code/extensions/Sur​​veyForm.php 20行 –

+0

@Peter我也使用了Director :: redirect('/展示位置);但没有工作。 –

回答

4

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

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

例子:

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

工作非常感谢:) @bummzack –