Trong phần mở rộng tùy chỉnh, tôi tạo người quan sát như thế này.
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>
Và người quan sát của tôi:
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;
}
}
Chức năng Observer của tôi được gọi, nhưng nó không hiển thị lỗi tùy chỉnh trên trang. Ngay lập tức, nó hiển thị thông điệp của tôi trong exception.log
tập tin như thế này.
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
Trang của bạn trông như thế nào khi người quan sát được thực thi?
—
Rendy Eko Prastiyo
Nó hiển thị thông báo mặc định "Chúng tôi không thể xóa mục này." xâm nhập tin nhắn tùy chỉnh. Tôi cập nhật kiểm tra câu hỏi ngay bây giờ.
—
Dhiren Vasoya
Bạn có chắc rằng suy nghĩ bạn muốn thực hiện được thực thi? Cách gỡ lỗi: hãy thử gửi đầu ra tới trình duyệt thích
—
Rendy Eko Prastiyo
Hello Nasty World!
và thêm exit
để thoát thực thi mã phía trên $message = 'blablabla'
dòng. Nếu bạn thấy thông báo, thì bạn có thể chuyển sang bước tiếp theo. Hãy thử nó và cho tôi ngay bây giờ nếu Hello Nasty World!
nó được gửi đến trình duyệt.
Có, nếu tôi đặt lối ra bên cạnh, nó sẽ hiển thị thông báo trên màn hình. Nếu bạn muốn thì tôi cung cấp sắp xếp màn hình.
—
Dhiren Vasoya
Bạn đã thấy tin nhắn gì? Cái
—
Rendy Eko Prastiyo
Hello nasty World
hay We can't remove the item!
cái gì khác? Vui lòng cung cấp ảnh chụp màn hình.