Удалить добавленное в корзину сообщение Magento 2 - PullRequest
0 голосов
/ 13 марта 2019

Я хочу удалить сообщение об успехе при добавлении в корзину. Прямо сейчас, когда вы нажимаете кнопку Add to Cart, отображается сообщение Successfully added <product> to cart, но я не хочу отображать это. Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 11 апреля 2019

Достигнуть этого довольно легко. Создать базовый модуль под app/code/<vendor>/<module> с

/ registration.php

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Vendor_Module',
    __DIR__
);

/ и т.д. / module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_Module" setup_version="0.1.0">
    </module>
</config>

Теперь вы можете удалить сообщение «Добавить в корзину», чтобы увидеть наблюдаемое событие и удалить его после отправки. Создайте /etc/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="checkout_cart_add_product_complete">
        <observer name="your_observer_name" instance="Vendor\Module\Observer\AfterAddToCart" />
    </event>
</config>

Итак, когда отправляется checkout_car_add_product_complete, вызывается наблюдатель AfterAddToCart. Создайте это так:

<?php
namespace Vendor\Module\Observer;

use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\Event\Observer as EventObserver;
use Magento\Checkout\Model\Cart as CustomerCart;

class AfterAddCart implements ObserverInterface
{

    private $cart;

    public function __construct(
        CustomerCart $cart
    ){
        $this->cart = $cart;
    }

    public function execute(EventObserver $observer)
    {
        $this->cart->getQuote()->setHasError(true);
    }
}

Вот и все. Сообщение «Добавить в корзину» больше не будет отображаться, а все другие сообщения, такие как «Добавить в сравнение» и т. Д., Будут по-прежнему отображаться.

Изначально это решение не мое, но я не могу вспомнить, где я его нашел.

...