Ö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.