क्या मैं Magage2 में सीधे M $ :: getUrl () का उपयोग करके इसे कॉल कर सकता हूं ?
मैं Magento2 में नीचे दिए गए कोड का उपयोग कैसे कर सकता हूं?
$link = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$this_params));
क्या मैं Magage2 में सीधे M $ :: getUrl () का उपयोग करके इसे कॉल कर सकता हूं ?
मैं Magento2 में नीचे दिए गए कोड का उपयोग कैसे कर सकता हूं?
$link = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$this_params));
जवाबों:
एक ब्लॉक में, आप $this->getUrl()
मापदंडों के साथ उपयोग कर सकते हैं जैसा कि आप उन्हें Magento 1 से जानते हैं। टेम्पलेट में, $block->getUrl()
इसके बजाय का उपयोग करें ।
ब्लॉक और टेम्प्लेट के बाहर, आपको पहुंच की आवश्यकता होती है \Magento\Framework\UrlInterface
, इसलिए यदि यह वर्तमान कक्षा में अभी तक उपलब्ध नहीं है, तो इसे एक निर्माण पैरामीटर के रूप में जोड़ें, इसे असाइन करें $this->urlBuilder
, फिर उपयोग करें $this->urlBuilder->getUrl()
।
आप बस नीचे दिए गए तरीके से मैगेंटो 2 में इस विधि को कॉल कर सकते हैं,
//define query array pass to url
$query = ['str1' => 'value1', 'str2' => 'value2',];
$link = $block->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true, '_query' => $query]);
आप */*/*
उपरोक्त यूआरएल के बजाय एक्शन वैल्यू भी पास कर सकते हैं , जैसे आपकी आवश्यक कार्रवाई के अनुसार 'ग्राहक / खाता / लॉगिन' ।
आप इसे Magento 2 में उपयोग कर सकते हैं
$block->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true])