Önceki sayfaya magento 2 nasıl yönlendirilir?


14

Magento 2'deki özel işlemimden önceki sayfaya nasıl yönlendirilirim?

Yanıtlar:


42

Denetleyicinize aşağıdaki kodu yazın:

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;
    }
}

Bu kod benim için çalışıyor, umarım size de yardımcı olur.


Onların modülü @ ND17 eylem ile ilgili xml dosyası olması gerekiyor mu
ND17

@PranayK İlk önce sorunun ne olduğunu söyle, Eylemin herhangi bir sayfa oluşturma için XML dosyası eklemeye gerek
kalmadan kullanmıyorsa

varsayalım ben geri dönmek gerektiğinde liste sayfasına geldi, ana sayfaya yönlendiren alıyorum liste sayfası url @ ND17
Learing_Coder

Geri dönmeniz gerektiğinde herhangi bir eylem gerçekleştiriyor musunuz? örneğin bir şey tıklayın?
ND17

evet Tıklayın Geri bağlantısı var Sadece ana sayfada geri almak için ihtiyacım var Sadece listede Sayfa kalıyor. @ ND17
Learing_Coder

15

Bu aynı zamanda daha kısa bir formda geçerli bir cevap olabilir Magento 2.0.4

ad alanı Vendorname \ Modulename \ Controller \ Adminhtml \ Index;
class Fetch \ Magento \ Backend \ App \ Action klasörünü genişletir
{
    genel işlev execute ()
    {
        // YAPILACAKLAR: execute () yöntemini uygular.
        $ this -> _ yönlendirme ($ this -> _ redirect-> getRefererUrl ());
    }
}

executeYöntem A ya geri beklenen Magento\Framework\Controller\ResultInterfaceya da Magento\Framework\App\ResponseInterface. Neyse ki _redirectyöntem bunlardan birini yapar bu yüzden bu tavsiye edilir:return $this->_redirect($this->_redirect->getRefererUrl());
clockworkgeek

arka uç için serin. Magento 2.2.6 ile harika çalışıyor.
jaydip sinh Parmar

Bu, önceki sayfaya yönlendirmek için doğru yöntemdir. Teşekkür ederim
Avesh Naik

2

Lütfen bu kodu denetleyici sınıfınızda kullanın:

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

İşte resultRedirectFactory orada ebeveynlerden sınıfınızda miras edilebilecek bir sınıf değişkendir.

Yönlendirme URL'sinin ayarlanıp ayarlanmadığını kontrol etmek için, lütfen önce $ _SERVER değişkenini yazdırın. Bu kod benim için çalışıyor.


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;
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.