2010-03-31 14 views
9

क्या ज़ेंड फ्रेमवर्क में पुनर्निर्देशित सहायक के साथ पैरामीटर ($ _POST या $ _GET) पास करना संभव है? निम्न कोड वर्तमान नियंत्रक की अनुक्रमणिका कार्रवाई पर रीडायरेक्ट करता है, लेकिन मैं इसके कुछ पैरामीटर भी पास करना चाहता हूं।मैं ज़ेंड फ्रेमवर्क में पुनर्निर्देशक सहायक का उपयोग करके पैरामीटर कैसे पास करूं?

$this->_helper->redirector("index"); 

Zend Documenataion इसके बारे में कुछ नहीं कहा।

उत्तर

19

बेशक। यह Action Helpers documentation से एक कोड नमूना है (Redirector अनुभाग देखें, पृष्ठ के नीचे 2/3 के बारे में।) आपको रीडायरेक्टर सहायक के संदर्भ को पकड़ने की आवश्यकता हो सकती है और goto* विधियों में से एक को इस कोड की तरह कॉल करने की आवश्यकता हो सकती है।

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 // आह! मैं इसे कैसे याद कर सकता हूँ! आपका बहुत बहुत धन्यवाद! – Moon

+0

उपरोक्त संदर्भित एक्शन हेल्पर्स प्रलेखन 404 को वापस कर रहा है, इसके बजाय संस्करण 1.12 - https://framework.zend.com/manual/1.12/en/zend.controller.actionhelpers.html – PiggyMacPigPig

+0

के लिए मैं ज़ेंड 3.0.0 का उपयोग करता हूं, और मेरा पैरा ऑर्डर रीडायरेक्टर (मॉड्यूल, एक्शन, कंट्रोलर, पैराम्स) –

8

4 पैरामीटर के रूप में एक सरणी दर्रा:

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

आपके द्वारा उपयोग किए जाने वाले "मॉड्यूल" पैरामीटर का क्या है? – softwareplay

+1

@softwareplay मॉड्यूल का नाम जिसका उपयोग आप कर रहे हैं, यदि कोई मॉड्यूल नहीं है, तो मुझे लगता है कि आपको इसे खाली करना चाहिए। http://framework.zend.com/manual/2.0/en/user-guide/modules.html – Rahman

संबंधित मुद्दे