php – Magento 2使用自定义选项以编程方式将产品添加到购物车
作者:互联网
我创建了一个测试脚本文件,用于将产品添加到带有自定义选项的购物车我希望以编程方式在购物车中显示所选产品的自定义选项.
请检查我的以下代码:
$productId = 25;
$product = $objectManager->create('\Magento\Catalog\Model\Product')->load($productId);
$cart = $objectManager->create('Magento\Checkout\Model\Cart');
$params = array();
$params['options[469]'] = 459;
$params['qty'] = 1;
$params['product'] = 25
$cart->addProduct($product, $params);
$cart->save();
使用objectmanager我创建了购物车和产品对象.当我在浏览器中触发此脚本时,它会显示错误:
Magento\Framework\Exception\LocalizedException: Please specify
product’s required option(s).
我已经在params数组中传递了自定义选项.但仍然显示错误.
如何使用选定的自定义选项将产品添加到购物车中?
请帮我.
任何帮助,将不胜感激.
解决方法:
我已经解决了这个问题.
这是我更新的代码.
$productId = 127;
$product = $obj->create('\Magento\Catalog\Model\Product')->load($productId);
$cart = $obj->create('Magento\Checkout\Model\Cart');
$params = array();
$options = array();
$params['qty'] = 1;
$params['product'] = 127;
foreach ($product->getOptions() as $o)
{
foreach ($o->getValues() as $value)
{
$options[$value['option_id']] = $value['option_type_id'];
}
}
$params['options'] = $options;
$cart->addProduct($product, $params);
$cart->save();
这段代码对我有用.
标签:magento2,php 来源: https://codeday.me/bug/20190727/1550467.html