Magento 2 Wishlist允许用户将产品添加到他们的收藏夹中,这将为下次购买节省时间。此外,还可以通过电子邮件与任何人共享愿望列表。
本文将指导您如何以编程方式将产品添加到Magento 2中的愿望列表中
要保存产品,首先加载客户的愿望列表,然后通过愿望列表模型添加产品。
编码示例:
<?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);
}
}
该产品已在前端成功添加到用户的收藏夹列表中
image.png