Bagaimana cara mengarahkan ulang ke halaman sebelumnya magento 2?

14

Cara mengalihkan ke halaman sebelumnya dari tindakan kustom saya di magento 2

Pemula
sumber

Jawaban:

41

Di Controller Anda, tulis kode berikut:

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

Kode ini berfungsi untuk saya. Semoga dapat membantu Anda juga.

ND17
sumber
Apakah kebutuhan mereka akan file xml terkait dengan aksi di module saya @ ND17
Learing_Coder
@PranayK Pertama katakan padaku apa masalah Anda, Jika tindakan Anda tidak digunakan untuk membuat halaman apa pun daripada tidak perlu menambahkan file XML
ND17
jika seandainya saya datang ke halaman daftar ketika saya harus kembali, ke halaman rumah saya mendapatkan refererurl memiliki halaman daftar url @ ND17
Learing_Coder
Kapan Anda perlu kembali melakukan tindakan apa pun yang Anda lakukan? misalnya klik sesuatu?
ND17
ya saya punya back link di klik saya harus kembali ke beranda itu tinggal di daftar halaman saja. @ ND17
Learing_Coder
15

Ini juga bisa menjadi jawaban yang valid dalam bentuk yang lebih pendek Magento 2.0.4

namespace Vendorname \ Modulename \ Controller \ Adminhtml \ Index;
Ambil kelas diperluas \ Magento \ Backend \ App \ Action
{
    mengeksekusi fungsi publik ()
    {
        // TODO: Terapkan metode execute ().
        $ this -> _ redirect ($ this -> _ redirect-> getRefererUrl ());
    }
}
oliver
sumber
The executeMetode diharapkan untuk kembali baik Magento\Framework\Controller\ResultInterfaceatau Magento\Framework\App\ResponseInterface. Untungnya _redirectmetode ini melakukan salah satu dari itu, jadi ini disarankan:return $this->_redirect($this->_redirect->getRefererUrl());
clockworkgeek
keren untuk backend. bekerja dengan Magento 2.2.6.
jaydip sinh Parmar
Ini adalah metode yang benar untuk mengalihkan ke halaman sebelumnya. Terima kasih
Avesh Naik
2

Silakan gunakan kode ini di kelas controller Anda:

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

Di sini resultRedirectFactory adalah variabel kelas yang dapat diwarisi di kelas Anda dari orang tua di sana.

Untuk memeriksa apakah URL rujukan disetel atau tidak, harap cetak variabel $ _SERVER terlebih dahulu. Kode ini berfungsi untuk saya.

Sumit Verma
sumber
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;
}
Amit Singh
sumber