为什么Magento的文档这么差?要为它建立一个插件是相当困难的。无论如何,我试图添加一个自定义价格和选项的产品。在WooCommerce中,这是很容易做到的。
我的代码是这样的。
protected $_cart;
protected $_productFactory;
构造者:
public function __construct(
\Magento\Checkout\Model\Cart $cart,
\Magento\Catalog\Model\ProductFactory $productFactory
) {
$this->_cart = $cart;
$this->_productFactory = $productFactory;
}
Execute:
$product = $this->_productFactory->create()->load($product_id);
$params = array(
'qty' => 1,
'price' => 100,
'product' => $product_id,
'options' => array(
"test" => array(
'label' => 'Print Style',
'value' => 'Test'
)
)
);
$this->_cart->addProduct($product, $params);
$this->_cart->save();
控制器通过ajax post请求被调用。产品将被添加到购物车,产品的数量等于我在数组中所说的数量。
但是有几个问题。
只有在通过常规的添加到购物车按钮添加不同的产品到购物车后,产品才会在购物车中显示。
价格没有调整。使用的是正常价格。
自定义选项不可见。自定义选项应该在购物车、结账时和订单详情中可见。
我怎样才能做到这一点?我感谢你的帮助。
谢谢你的帮助。
你可以使用OOTB Magento的API端点来添加产品到购物车。
下面是对不同产品类型的payload数据的解释,可以帮助你。https:/devdocs.magento.comguidesv2.3resttutorialsordersorder-add-items.html。
但是Magento不允许你通过payload数据将产品添加到购物车中并自定义价格,你必须添加观察者并实现围绕定价的逻辑。你将不得不添加观察者,并实现围绕定价的逻辑。更多细节在这里。https:/www.mageplaza.comdevdocsadd-product-to-cart-with-custom-price-magento-2.html