cartHelper = $cartHelper; $this->currency = $currency; } /** * @return $this */ protected function _prepareLayout() { if ($this->cartHelper->getItemsCount()) { $this->validateMinimumAmount(); $this->addQuoteMessages(); $this->addMessages($this->messageManager->getMessages(true)); } return parent::_prepareLayout(); } /** * Validate minimum amount and display notice in error * * @return void */ protected function validateMinimumAmount() { if (!$this->cartHelper->getQuote()->validateMinimumAmount()) { $this->messageManager->addNoticeMessage($this->getMinimumAmountErrorMessage()->getMessage()); } } /** * @return \Magento\Quote\Model\Quote\Validator\MinimumOrderAmount\ValidationMessage * @deprecated 100.1.0 */ private function getMinimumAmountErrorMessage() { if ($this->minimumAmountErrorMessage === null) { $objectManager = ObjectManager::getInstance(); $this->minimumAmountErrorMessage = $objectManager->get( \Magento\Quote\Model\Quote\Validator\MinimumOrderAmount\ValidationMessage::class ); } return $this->minimumAmountErrorMessage; } /** * Add quote messages * * @return void */ protected function addQuoteMessages() { // Compose array of messages to add $messages = []; /** @var \Magento\Framework\Message\MessageInterface $message */ foreach ($this->cartHelper->getQuote()->getMessages() as $message) { if ($message) { // Escape HTML entities in quote message to prevent XSS $message->setText($this->escapeHtml($message->getText())); $messages[] = $message; } } if ($messages) { $this->messageManager->addUniqueMessages($messages); } } }