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.