2010-02-18 12 views
10

HI लोगों से एक GET पैरामीटर तक पहुंचने की आवश्यकता है - मैं ज़ेंड फ्रेमवर्क का उपयोग कर रहा हूं और मुझे अपने दृश्य में एक यूआरएल बनाने के लिए क्या चाहिए। आम तौर पर नियमित PHP कोड में मैं वैश्विक $ _GET का उपयोग करके जीईटी वैरिएबल को पकड़ लेता हूं। हालांकि Zend के साथ मैं इसे सेट कर रहा हूं यूआरआई साफ करने के लिए इतना:ज़ेंड फ्रेमवर्क - दृश्य

एसी = सूची & फिल्टर = काम करता है & पेज = 2

तरह सूचकांक/एसी/सूची/फिल्टर/काम करता है/पेज/2

लग रहा है

मेरी नजर में मैं एक लिंक सेट कर रहा हूं सीएस ऐसी है कि यदि पाने चर फिल्टर तो काम करता है के बराबर होती है कि लिंक का रंग अलग होगा और यह एक ही पेज केवल इतनी के रूप में जुड़े हुए को इंगित होगा:

सूचकांक/एसी/सूची/फ़िल्टर/अतिरिक्त/पृष्ठ/2

एएनडी बुद्धिमान की तरह मेरे पास कई अन्य लिंक हैं जो सिर्फ एक जीईटी मूल्य है - मैं इसे कैसे सेट करूं - मैं ज़ेंड फ्रेमवर्क का उपयोग कर रहा हूं ...

उत्तर

30

तक पहुंचने के लिए एक अनुरोध चर दृश्य में प्रत्यक्ष तुम कर सकते हो:

Zend_Controller_Front::getInstance()->getRequest()->getParam('key'); 

लेकिन जैसे अन्य लोगों ने कहा, यह एक अच्छा विचार नहीं है। यह आसान हो सकता है, लेकिन पर विचार अन्य विकल्प:

  • नियंत्रक में दृश्य चर सेट
  • एक दृश्य के सहायक उस अनुरोध वस्तु
5

यदि आपको किसी दृश्य से GET पैरामीटर तक पहुंचने की आवश्यकता है, मुझे लगता है कि आप इसे गलत तरीके से कर रहे हैं।

मेरा सुझाव है कि आप अपने सभी पैरामीटर के साथ एक मार्ग स्थापित करें, और उसके बाद एक वैध और सही यूआरएल प्रस्तुत करने के लिए अपने दृश्य से $this->url का उपयोग करें।

फोर som अधिक जानकारी के लिए, निम्न ब्लॉग पोस्ट की जाँच (नहीं, मैं लेखक नहीं कर रहा हूँ): http://naneau.nl/2007/07/08/use-the-url-view-helper-please/

संपादित करें:

आप 'आलसी' बनना चाहते हैं, तो आप सेट कर सकते हैं $this->view->param = $this->_getParam('param') करके अपने नियंत्रक से एक दृश्य पैरामीटर। इसके बाद आप echo $this->param; कर अपने दृश्य से param तक पहुंच सकते हैं। हालांकि, मैं इसकी अनुशंसा नहीं करता हूं।

+0

दिलचस्प से चर खींचती बारे में है, लेकिन यह कहना नहीं है मौजूदा जीईटी पैरामीटर तक पहुंचने पर बहुत कुछ .. – Ali

+0

@Ali, हाँ यह करता है। आपका डोमेन।कॉम/न्यूज़/आईडी/124/पेज/2 <- $ _GET ['id'] को कंट्रोलर में '$ this -> _ getParam (' id ')' के रूप में एक्सेस किया जाएगा, $ _GET ['पृष्ठ'] $ है इस -> _ getParam ('पेज'); – chelmertz

+0

मेरा मतलब है कि मुझे अपने दृश्य में जीईटी पैरामीटर तक पहुंचने की ज़रूरत है ... :( – Ali

1

आप एक नियंत्रक से में इसे पारित कर सकते हैं: $this->view->page = $this->_getParam('page');

फुटनोट: मैं @alexn से सहमत हूं।

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