I created a module to alter the cart message.
app\code\Eight25media\Changemsg\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="controller_action_postdispatch_checkout_cart_add">
<observer name="updatemessage" instance="Eight25media\Changemsg\Observer\UpdateCartSuccessMessage" />
</event>
</config>
app\code\Eight25media\Changemsg\Observer\UpdateCartSuccessMessage.php
<?php
namespace Eight25media\Changemsg\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\RequestInterface;
class UpdateCartSuccessMessage implements ObserverInterface
{
/** @var \Magento\Framework\Message\ManagerInterface */
protected $messageManager;
/** @var \Magento\Framework\UrlInterface */
protected $url;
public function __construct(
\Magento\Framework\Message\ManagerInterface $managerInterface,
\Magento\Framework\UrlInterface $url
) {
$this->messageManager = $managerInterface;
$this->url = $url;
}
public function execute(\Magento\Framework\Event\Observer $observer) {
$messageCollection = $this->messageManager->getMessages();
$message = $messageCollection->getLastAddedMessage()->getText();
$message = str_replace(' shopping', '', $message);
$st = strpos($message, "don");
$st1 = strpos($message, "have");
if ($st !== false && $st1 !== false) {
$cartLink = 'You can request a quote, continue shopping, or view your cart <a href="'. $this->url->getUrl('checkout/cart') .'">here</a>';
}else{
$cartLink = 'You can continue shopping or view your cart <a href="'. $this->url->getUrl('checkout/cart') .'">here</a>';
}
$this->messageManager->addSuccess($message . ' ' . $cartLink);
}
}
If i remove true in this line $messageCollection = $this->messageManager->getMessages(true);
i am getting 3 messages like this image.where success message added in 2 different section. if i add true in this line $messageCollection = $this->messageManager->getMessages(true);
i am getting the last latest last message only.
Before come to my last message i want to add the previous message also to the final message.How can i concatenate this message in this observer file.