Bagaimana cara mengarahkan ulang ke halaman sebelumnya magento 2?


14

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

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.


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

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.


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;
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.