浏览文章
文章信息
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; }