如何以编程方式在 Magento 2 中将产品添加到愿望清单
Magento 2 Wishlist 允许用户将产品添加到他们的收藏夹中,这将为下次购买节省时间。此外,愿望清单也可以通过电子邮件与任何人共享。
本文将指导您如何以编程方式将产品添加到 Magento 2 的愿望清单中。
如何将产品添加到愿望清单
要将产品添加到愿望清单,我们需要两个参数:产品对象和客户 ID。
- Product Object:可以通过Product SKU或者Id获取。例如,使用此方法从SKU获取产品:
Magento\Catalog\Api\ProductRepositoryInterface::get($sku)
- 客户 ID。可以使用此方法为当前登录的客户获取前端客户 ID:
Magento\Customer\Model\Session::getId()
要保存产品,首先加载客户的愿望清单,然后通过愿望清单模型添加产品。
编码示例:
<?php
class AddProductToWishlist
{
protected $_wishlistFactory;
protected $_wishlistResource;
public function __construct(
Magento\Wishlist\Model\WishlistFactory $wishlistFactory,
Magento\Wishlist\Model\ResourceModel\Wishlist $wishlistResource
) {
$this->_wishlistFactory = $wishlistFactory;
$this->_wishlistResource = $wishlistResource;
}
/** * @param $product * @param $customerId * * @throws \Magento\Framework\Exception\AlreadyExistsException * @throws \Magento\Framework\Exception\LocalizedException */
public function saveProductToWishlist($product, $customerId)
{
//load wishlist by customer id
$wishlist = $this->_wishlistFactory->create()->loadByCustomerId($customerId, true);
//add product for wishlist
$wishlist->addNewItem($product);
//save wishlist
$this->_wishlistResource->save($wishlist);
}
}
结果如下:该产品已在前端成功添加到用户的收藏列表中。
结论
Magento 2 Wishlist 是一种方便的方式来跟踪您喜欢但尚未准备好购买的产品。您的愿望清单中的物品可以与他人共享或添加到购物车中。为用户带来更好的体验。
默认情况下,Magento 仅支持每个客户的一个愿望清单。对于多个愿望清单,您可以在这里查看我们的免费扩展。
我们希望您从这篇文章中学到了一些有用的东西。如果出现任何问题,请在评论中告诉我们。
感谢您的阅读!
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。