我想将一些数据添加到报价项中,而不是产品中。
$quoteItems = $this->cart->getItems();
foreach ($quoteItems as $eachQuoteItem) {
$eachQuoteItem->setCustomname('aaaa');
$eachQuoteItem->setIsSuperMode(true);
$eachQuoteItem->save();
};
我可以使用$eachQuoteItem-〉getCustomname();在同一页中取回'aaaa',但我无法在其他请求中获得数据。
有什么建议吗?谢谢
3条答案
按热度按时间ovfsdjhp1#
所提供的答案解决了将报价项目转换为订单项目的任务。但是,听起来您好像是在询问如何首先设置报价项目上的数据。
您可以通过以下方式实现此目的:
a)使用
getAllVisibleItems()
从报价中获取项目,B)对每个项目调用
setData('field', val)
。c)使用
setItems(items)
在报价上设置更新的项目d)然后,保存报价
pkmbmrz72#
它是晚了,但可能你需要为这种情况下建议here创建插件。
kognpnkq3#
您可以通过以下操作将自定义字段值保存在
quote_item
表中:创建
ModuleName/CompanyName/etc/di.xml
创建
ModuleName\CompanyName\Plugin\ToQuoteItem.php