1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Paypal\Block\Cart;
- use Magento\Framework\Message\MessageInterface;
- use Magento\Framework\View\Element\Message\InterpretationStrategyInterface;
- /**
- * PayPal order review page validation messages block
- *
- * @api
- * @since 100.0.2
- */
- class ValidationMessages extends \Magento\Framework\View\Element\Messages
- {
- /**
- * @var \Magento\Checkout\Helper\Cart
- */
- protected $cartHelper;
- /**
- * @param \Magento\Framework\View\Element\Template\Context $context
- * @param \Magento\Framework\Message\Factory $messageFactory
- * @param \Magento\Framework\Message\CollectionFactory $collectionFactory
- * @param \Magento\Framework\Message\ManagerInterface $messageManager
- * @param InterpretationStrategyInterface $interpretationStrategy
- * @param \Magento\Checkout\Helper\Cart $cartHelper
- * @param array $data
- */
- public function __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 = []
- ) {
- parent::__construct(
- $context,
- $messageFactory,
- $collectionFactory,
- $messageManager,
- $interpretationStrategy,
- $data
- );
- $this->cartHelper = $cartHelper;
- }
- /**
- * @return $this
- */
- protected function _prepareLayout()
- {
- if ($this->cartHelper->getItemsCount()) {
- $this->addQuoteMessages();
- $this->addMessages($this->messageManager->getMessages(true));
- }
- return parent::_prepareLayout();
- }
- /**
- * Add quote messages
- *
- * @return void
- */
- protected function addQuoteMessages()
- {
- // Compose array of messages to add
- $messages = [];
- /** @var MessageInterface $message */
- foreach ($this->cartHelper->getQuote()->getMessages() as $message) {
- if (!$message->getIdentifier()) {
- try {
- $messages[] = $this->messageManager
- ->createMessage($message->getType())
- ->setText($message->getText());
- } catch (\InvalidArgumentException $e) {
- // pass
- }
- } else {
- $messages[] = $message;
- }
- }
- $this->messageManager->addUniqueMessages(
- $messages
- );
- }
- }
|