Saya ingin menampilkan pesan kesalahan atau sukses di modul magento 2 saya. Saya telah menambah kontroler front-end saya dengan nama kelas \Magento\Framework\App\Action\Action
. Lalu saya mengarahkan klien ke beranda menggunakan kode berikut
$this->messageManager->addError($SomeMessage);
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath($base_path);
Semuanya berfungsi dengan baik tetapi baris ini tidak pernah mencetak kesalahan
$this->messageManager->addError($SomeMessage);
magento2
session
magento2-dev-beta
global-messages
Shaheer Ali
sumber
sumber
Jawaban:
Saya menghadapi masalah terkait dengan tampilan pesan di sumber Magento2 Beta. Di beberapa sumber dengan kesalahan tampilan default dan pesan sukses tetapi dalam beberapa kasus tidak ditampilkan kemudian ikuti langkah-langkah di bawah ini.
Langkah 1: Saya telah membuat file Message.php dalam modul khusus saya di Darsh \ Crud \ Block \ Message.php
Langkah 2: Menambahkan blok pesan ke handeler di Darsh \ Crud \ view \ frontend \ layout \ crud_index_form.xml
Silakan tambahkan Tag pembuka dan penutup <> untuk pegangan tata letak.
Sekarang Anda dapat melihat pesan khusus Anda ditambahkan di Darsh \ Crud \ Controller \ Index \ Form.
Jika Anda menghadapi masalah apa pun, silakan lihat Modul contoh di https://github.com/Darshanmodi1427/Magento2_Crud_Operation.git
sumber
Dalam file layout saya telah menggunakan kode di bawah ini. sekarang saya mendapat pesan di frontend.
sumber
Saya telah menghadapi masalah yang sama dan saya bisa memperbaikinya dengan menambahkan berikut ini di file tata letak saya:
Ini harus memperbaikinya;)
sumber
Sudahkah Anda mencoba mengembalikan baris kode yang terakhir?
Fungsi sebenarnya
addError
terlihat baik kecuali$SomeMessage
variabelnya kosong, sudahkah Anda memeriksanya juga?Jika gagal, mungkin Anda dapat mencoba mengalihkan menggunakan
_redirect
fungsi, seperti:Mungkin
resultRedirect
fungsi menghapus sesi pesan sehingga pesan Anda tidak pernah ditampilkan.sumber
Ya, saya telah menambahkan pesan menggunakan objek $ resultRedirect dengan
Silakan lihat di bawah ini kode pengontrol
Terima kasih.
sumber
Coba gunakan XDEBUG, atur break point pada aksi controller Anda. Mungkin itu digandakan redirect dan membuat pesan yang hilang di manajer.
sumber