2012-09-13 80 views
0

這是我的控制器助手:Zend框架:從動作助手重定向

class Application_Controller_Helper_Test extends Zend_Controller_Action_Helper_Abstract 
{ 
    public function preDispatch() 
    { 
     $this->_helper->redirector->gotoUrl('/index/index'); 
     // ... 
    } 

但有錯誤,我無法修復:如果您想從一個動作助手重定向

Call to a member function gotoUrl() on a non-object

回答

4

,你必須從助手經紀人中檢索重定向助手。以下片段將重定向到index/index

$controller = $request->getControllerName(); 
$action = $request->getActionName(); 

// Prevent redirection loop 
if ($controller.'/'.$action !== 'index/index') { 
    $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector'); 
    $redirector->gotoSimpleAndExit('index', 'index', 'default'); 
} 
+0

我不知道爲什麼,但不能打開的索引/指數:火狐告訴:本網頁沒有正確重定向 – Defense

+0

我已經編輯我的答案。 – Florent

+0

嗯,再次同樣的錯誤:該頁面沒有正確重定向 – Defense

0
$this->_redirector = $this->_helper->getHelper('Redirector'); 

$this->redirector('targetAction', 'targetController');