Example #1
0
 /**
  * Get tier price html
  *
  * @param Item $item
  * @return string
  */
 public function getTierHtml($item)
 {
     $html = '';
     $prices = $item->getProduct()->getTierPrice();
     if ($prices) {
         if ($item->getProductType() == \Magento\Catalog\Model\Product\Type::TYPE_BUNDLE) {
             $info = $this->_getBundleTierPriceInfo($prices);
         } else {
             $info = $this->_getTierPriceInfo($prices);
         }
         $html = implode('<br />', $info);
     }
     return $html;
 }
 /**
  * {@inheritdoc}
  */
 public function getItemData(Item $item)
 {
     $this->item = $item;
     return \array_merge(['product_type' => $item->getProductType()], $this->doGetItemData());
 }
Example #3
0
 public function testGetProductTypeWithProduct()
 {
     $productMock = $this->generateProductMock(self::PRODUCT_ID, self::PRODUCT_TYPE, self::PRODUCT_SKU, self::PRODUCT_NAME, self::PRODUCT_WEIGHT, self::PRODUCT_TAX_CLASS_ID, self::PRODUCT_COST);
     $this->model->setProduct($productMock);
     $this->assertEquals(self::PRODUCT_TYPE, $this->model->getProductType());
 }
Example #4
0
 /**
  * @param Item $item
  * @return string
  */
 protected function buildItemId(Item $item)
 {
     /** @var Item $parentItem */
     $parentItem = $item->getOptionByCode('product_type');
     if (!is_null($parentItem)) {
         return $parentItem->getProduct()->getSku();
     } elseif ($item->getProductType() === 'simple') {
         // todo: if the product has a configurable parent and there is "super_attribute" data in the buy request, assume we need to use the parent product SKU, just like in Magento 1.
     }
     return $item->getProduct()->getSku();
 }