/** * Collect information about MSRP price enabled * * @param \Magento\Sales\Model\Quote\Address $address * @return $this */ public function collect(\Magento\Sales\Model\Quote\Address $address) { parent::collect($address); $items = $this->_getAddressItems($address); if (!count($items)) { return $this; } $canApplyMsrp = false; foreach ($items as $item) { if (!$item->getParentItemId() && $this->_catalogData->canApplyMsrp($item->getProductId(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM, true)) { $canApplyMsrp = true; break; } } $address->setCanApplyMsrp($canApplyMsrp); return $this; }
/** * Returns product price block html * * @param \Magento\Catalog\Model\Product $product * @param boolean $displayMinimalPrice * @param string $idSuffix * @return string * @deprecated */ public function getPriceHtml($product, $displayMinimalPrice = false, $idSuffix = '') { $typeId = $product->getTypeId(); if ($this->_catalogData->canApplyMsrp($product)) { $realPriceHtml = $this->_preparePriceRenderer($typeId)->setProduct($product)->setDisplayMinimalPrice($displayMinimalPrice)->setIdSuffix($idSuffix)->toHtml(); $product->setAddToCartUrl($this->getAddToCartUrl($product)); $product->setRealPriceHtml($realPriceHtml); $typeId = $this->_mapRenderer; } return $this->_preparePriceRenderer($typeId)->setProduct($product)->setDisplayMinimalPrice($displayMinimalPrice)->setIdSuffix($idSuffix)->toHtml(); }
/** * Check if can apply Minimum Advertise price to product * * @param Product $product * @return bool */ public function canApplyMsrp(Product $product) { return $this->catalogDataHelper->canApplyMsrp($product); }