2010-03-31 4 views

risposta

19

Naturalmente. Questo è un esempio di codice da Action Helpers documentation (vedere la sezione Redirector, a circa 2/3 della pagina.) Potrebbe essere necessario prendere un riferimento all'helper redirector e chiamare uno dei metodi goto* come questo codice sta facendo.

class ForwardController extends Zend_Controller_Action 
{ 
    /** 
    * Redirector - defined for code completion 
    * 
    * @var Zend_Controller_Action_Helper_Redirector 
    */ 
    protected $_redirector = null; 

    public function init() 
    { 
     $this->_redirector = $this->_helper->getHelper('Redirector'); 
    } 

    public function myAction() 
    { 
     /* do some stuff */ 

     // Redirect to 'my-action' of 'my-controller' in the current 
     // module, using the params param1 => test and param2 => test2 
     $this->_redirector->gotoSimple('my-action', 
             'my-controller', 
             null, 
             array('param1' => 'test', 'param2' => 'test2')); 
    } 
} 
+0

@Andy Shellam // ah! Come potrei mancarlo! Grazie mille! – Moon

+0

La documentazione di Action Helpers a cui si fa riferimento sopra restituisce un 404 provate questo invece per la versione 1.12 - https://framework.zend.com/manual/1.12/en/zend.controller.actionhelpers.html – PiggyMacPigPig

+0

Io uso Zend 3.0.0, e il mio ordine param è redirector (modulo, azione, controller, parametri) –

8

Passare un array come 4 ° parametro:

$this->_helper->redirector('action', 'controller', 'module', array('param1' => 'value1')); 
+0

qual è il parametro "modulo" che usi? – softwareplay

+1

@softwareplay Nome del modulo che si sta utilizzando, se non ci sono moduli, penso che dovresti impostarlo vuoto. http://framework.zend.com/manual/2.0/en/user-guide/modules.html – Rahman