在将配置的Bundle产品的数据添加到报价之前,是否有一种有价值的方法可以获取它们。这个场景:
$ item中包含哪些数据。这是基于用户的洞穴用户和配置的产品数据
$item = $observer->getEvent()->getQuoteItem();
这是与项目相关联的产品,如果是,那么差异是什么
$product = $item->getProduct();
到目前为止,我理解这是用户选择
$infoBuyRequest = $item->getBuyRequest()->toArray();
$bundleOption = $infoBuyRequest['bundle_option'];
以下是我不理解的一些事情:
如何获取已配置的Bundle的选项和选项?如果我var_dumb项目或产品变量我得到了很多数据。不是总选项和选项,只是用户选择的选项和选项。
接下来的问题是: $ item 是将存储在数据库中的实际对象(sales_flat_quote_item),那么配置的那个?
我通过 $ item-> getProduct()了解了什么。这是相关的产品数据吗?
如何获取自定义选项(存储在不同的数组中:bundle_selection_attributes,bundle_option_ids等等)?
答案 0 :(得分:1)
如果将bundleproduct添加到卡中,则会通过sales_quote_add_item
事件的观察者传递以下内容:
所以,如果你是有一个捆绑产品,有4个选项来选择产品和数量,观察者被称为5次。
在数据库中,报价项目与添加的捆绑产品及其选定的基础产品一起存储。
$item->getProduct()
会返回当前报价项的对象。
您可以使用$product->getName()
和$product->getId()
,$product->getAttributeText('attribute_code')
等功能以及观察者中的所有逻辑内容。