Dalam ekstensi khusus, saya membuat pengamat seperti ini.
app\code\Vendor\Extension\etc\frontend\events.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="sales_quote_remove_item">
<observer name="sales_quote_remove_item_handler" instance="Vendor\Extension\Observer\RemovecartbeforeObserver" shared="false" />
</event>
</config>
Dan Pengamat Saya:
app\code\Vendor\Extension\Observer\RemovecartbeforeObserver.php
use Magento\Framework\Event\ObserverInterface;
class RemovecartbeforeObserver implements ObserverInterface
{
public function execute(\Magento\Framework\Event\Observer $observer)
{
// HERE IS MY CODE
$message = "THIS IS CUSTOM ERROR MESSAGE";
throw new \Magento\Framework\Exception\LocalizedException(__($message));
return;
}
}
Fungsi Pengamat Saya dipanggil, tetapi tidak menunjukkan kesalahan khusus pada halaman. Instade ini menunjukkan pesan saya di exception.log
file seperti ini.
main.CRITICAL: exception 'Magento\Framework\Exception\LocalizedException' with message 'THIS IS CUSTOM ERROR MESSAGE' in E:\xampp\htdocs\myworks\magento213\app\code\Vendor\Extension\Observer\RemovecartbeforeObserver.php:106
Bagaimana tampilan halaman Anda ketika pengamat dieksekusi?
—
Rendy Eko Prastiyo
Ini menunjukkan pesan default "Kami tidak dapat menghapus item." instade pesan khusus. Saya memperbarui cek pertanyaan sekarang.
—
Dhiren Vasoya
Apakah Anda yakin pemikiran yang ingin Anda jalankan dieksekusi? Cara debug: coba kirim keluaran ke browser seperti
—
Rendy Eko Prastiyo
Hello Nasty World!
dan tambahkan exit
untuk keluar dari eksekusi kode di atas $message = 'blablabla'
baris. Jika Anda melihat pesannya, maka Anda dapat pergi ke langkah berikutnya. Coba dan biarkan saya sekarang jika Hello Nasty World!
dikirim ke browser.
Ya, jika saya keluar di sampingnya, itu akan menampilkan pesan di layar. Jika Anda mau maka saya menyediakan semacam layar.
—
Dhiren Vasoya
Pesan apa yang kamu lihat? The
—
Rendy Eko Prastiyo
Hello nasty World
atau We can't remove the item!
atau sesuatu yang lain? Harap berikan tangkapan layar.