浏览文章

文章信息

Magento2 购物车产品获取产品属性 14746

自定义属性不包含在Quote / Cart中的产品对象中,因此您无法通过getData('custom_attribute')函数获得它。您需要做的是获取从Quote产品对象返回的产品ID,并使用产品存储库加载产品。通过存储库加载产品后,您可以获取所有数据,包括分配给它的自定义属性,稍后,您可以使用getData('custom_attribute')功能获取它。

例子:

 // 检查购物车中的加购产品数量
            $allItems = $this->_cart->getQuote()->getAllItems();
            $checkoutAddPurchaseNumber = 0;
            foreach ($allItems as $item) {
                $productId = $item->getProductId();
                $product = $this->productRepositoryInterface->getById($productId);
                $addPurchaseAttr = $product->getCustomAttribute(InstallData::purchase_FLAG_ATTR);
                if ($addPurchaseAttr) if ($addPurchaseAttr->getValue() == '1') $checkoutAddPurchaseNumber += 1;
            }


原创