Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ValidationMessages.php
Go to the documentation of this file.
1 <?php
7 
10 
18 {
22  protected $cartHelper;
23 
33  public function __construct(
34  \Magento\Framework\View\Element\Template\Context $context,
35  \Magento\Framework\Message\Factory $messageFactory,
36  \Magento\Framework\Message\CollectionFactory $collectionFactory,
37  \Magento\Framework\Message\ManagerInterface $messageManager,
38  InterpretationStrategyInterface $interpretationStrategy,
39  \Magento\Checkout\Helper\Cart $cartHelper,
40  array $data = []
41  ) {
42  parent::__construct(
43  $context,
47  $interpretationStrategy,
48  $data
49  );
50  $this->cartHelper = $cartHelper;
51  }
52 
56  protected function _prepareLayout()
57  {
58  if ($this->cartHelper->getItemsCount()) {
59  $this->addQuoteMessages();
60  $this->addMessages($this->messageManager->getMessages(true));
61  }
62  return parent::_prepareLayout();
63  }
64 
70  protected function addQuoteMessages()
71  {
72  // Compose array of messages to add
73  $messages = [];
75  foreach ($this->cartHelper->getQuote()->getMessages() as $message) {
76  if (!$message->getIdentifier()) {
77  try {
78  $messages[] = $this->messageManager
79  ->createMessage($message->getType())
80  ->setText($message->getText());
81  } catch (\InvalidArgumentException $e) {
82  // pass
83  }
84  } else {
85  $messages[] = $message;
86  }
87  }
88  $this->messageManager->addUniqueMessages(
89  $messages
90  );
91  }
92 }
addMessages(\Magento\Framework\Message\Collection $messages)
Definition: Messages.php:134
__construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Message\Factory $messageFactory, \Magento\Framework\Message\CollectionFactory $collectionFactory, \Magento\Framework\Message\ManagerInterface $messageManager, InterpretationStrategyInterface $interpretationStrategy, \Magento\Checkout\Helper\Cart $cartHelper, array $data=[])
$message