पिछले पृष्ठ Magento 2 पर पुनर्निर्देशित कैसे करें?


14

Magento 2 में मेरी कस्टम कार्रवाई से पिछले पृष्ठ पर पुनर्निर्देशित कैसे करें

जवाबों:


42

आपके नियंत्रक में निम्नलिखित कोड लिखें:

namespace Company\Module\Controller\Index;
use Magento\Framework\Controller\ResultFactory; 

class Actionname name extends \Magento\Framework\App\Action\Action
{      
    public function execute()
    {
        $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);

        // Your code

        $resultRedirect->setUrl($this->_redirect->getRefererUrl());
        return $resultRedirect;
    }
}

यह कोड मेरे लिए काम करता है। यह आपकी मदद भी करेगा।


क्या मेरे मॉड्यूल में कार्रवाई से संबंधित xml फ़ाइल होना चाहिए @ ND17
Learing_Coder

@PranayK सबसे पहले मुझे बताएं कि आपका मुद्दा क्या है, अगर आपकी कार्रवाई XML फ़ाइल को जोड़ने की आवश्यकता के मुकाबले किसी भी पृष्ठ रेंडर के लिए उपयोग नहीं करती है
ND17

अगर मुझे लगता है कि मैं उस सूची पृष्ठ पर आया था जब मुझे वापस जाने की आवश्यकता होती है, तो होम पेज पर मुझे रेफरल मिल रहा है सूची पृष्ठ url @ ND17
Learing_Coder

जब आपको वापस जाने की आवश्यकता होती है तो क्या आप प्रदर्शन करते हैं? उदाहरण के लिए कुछ पर क्लिक करें?
ND17

हाँ, मेरे पास बैक लिंक पर क्लिक है मुझे होम पेज पर वापस आने की आवश्यकता है यह केवल सूची पृष्ठ में रह रहा है। @ ND17
Learing_Coder

15

यह छोटे रूप में Magento 2.0.4 में एक मान्य उत्तर हो सकता है

नाम स्थान Vendorname \ Modulename \ Controller \ Adminhtml \ Index;
वर्ग फ़ेच \ \ बेंटो \ बैकेंड \ एप \ एक्शन बढ़ाता है
{
    सार्वजनिक कार्य निष्पादन ()
    {
        // TODO: कार्यान्वित निष्पादन () विधि।
        इस $ -> _ रीडायरेक्ट ($ इस -> _ redirect-> getRefererUrl ());
    }
}

executeविधि या तो एक लौटने की उम्मीद है Magento\Framework\Controller\ResultInterfaceया एक Magento\Framework\App\ResponseInterface। सौभाग्य से _redirectविधि उन लोगों में से एक है, इसलिए यह उचित है:return $this->_redirect($this->_redirect->getRefererUrl());
घड़ी की कल की

बैकेंड के लिए अच्छा है। Magento 2.2.6 के साथ कमाल काम करता है।
जयदीप सिंह परमार

यह पिछले पृष्ठ पर रीडायरेक्ट करने की सही विधि है। धन्यवाद
Avesh नाइक

2

कृपया अपने नियंत्रक वर्ग में इस कोड का उपयोग करें:

$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();
return $resultRedirect;

यहाँ resultRedirectFactory एक वर्ग चर है जो आपकी कक्षा में माता-पिता से विरासत में प्राप्त किया जा सकता है।

यह देखने के लिए कि क्या रेफरल URL सेट है या नहीं, कृपया पहले $ _SERVER चर प्रिंट करें। यह कोड मेरे लिए काम कर रहा है।


0
public function execute(){
    $resultRedirect = $this->resultRedirectFactory->create();
    try{
        $this->messageManager->addSuccess(__('Redirection Sucessful.'));
    }catch (\Exception $e) {
        $this->messageManager->addError($e->getMessage());            
    }
    $resultRedirect->setUrl($this->_redirect->getRefererUrl());
    return $resultRedirect;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.