/** * Set Quote information about MSRP price enabled * * @param \Magento\Framework\Event\Observer $observer * @return void */ public function execute(\Magento\Framework\Event\Observer $observer) { /** @var $quote \Magento\Quote\Model\Quote */ $quote = $observer->getEvent()->getQuote(); $canApplyMsrp = false; if ($this->config->isEnabled()) { foreach ($quote->getAllAddresses() as $address) { if ($this->canApplyMsrp->isCanApplyMsrp($address)) { $canApplyMsrp = true; break; } } } $this->msrp->setCanApplyMsrp($quote->getId(), $canApplyMsrp); }
/** * @return string */ protected function _toHtml() { /** @var \Magento\Checkout\Block\Cart\AbstractCart $originalBlock */ $originalBlock = $this->getLayout()->getBlock($this->getOriginalBlockName()); $quote = $originalBlock->getQuote(); if (!$this->msrp->getCanApplyMsrp($quote->getId()) && $this->config->isEnabled()) { $quote->collectTotals(); } if ($this->msrp->getCanApplyMsrp($quote->getId())) { $originalBlock->setTemplate(''); return parent::_toHtml(); } else { return ''; } }