14 use Magento\Wishlist\Model\WishlistFactory;
69 $sharedWishlist = $this->checkoutSession->getSharedWishlist();
70 $messages = $this->checkoutSession->getWishlistPendingMessages();
71 $urls = $this->checkoutSession->getWishlistPendingUrls();
72 $wishlistIds = $this->checkoutSession->getWishlistIds();
73 $singleWishlistId = $this->checkoutSession->getSingleWishlistId();
75 if ($singleWishlistId) {
76 $wishlistIds = [$singleWishlistId];
79 if (is_array($wishlistIds) && count($wishlistIds) &&
$request->getParam(
'wishlist_next')) {
80 $wishlistId = array_shift($wishlistIds);
82 if ($this->customerSession->isLoggedIn()) {
83 $wishlist = $this->wishlistFactory->create()
84 ->loadByCustomerId($this->customerSession->getCustomerId(),
true);
85 }
elseif ($sharedWishlist) {
86 $wishlist = $this->wishlistFactory->create()->loadByCode($sharedWishlist);
91 $wishlists =
$wishlist->getItemCollection()->load();
92 foreach ($wishlists as $wishlistItem) {
93 if ($wishlistItem->getId() == $wishlistId) {
94 $wishlistItem->delete();
97 $this->checkoutSession->setWishlistIds($wishlistIds);
98 $this->checkoutSession->setSingleWishlistId(
null);
105 $this->checkoutSession->setWishlistPendingUrls(
$urls);
106 $this->checkoutSession->setWishlistPendingMessages($messages);
108 $this->messageManager->addError(
$message);
111 $this->checkoutSession->setNoCartRedirect(
true);
execute(Observer $observer)
elseif(isset( $params[ 'redirect_parent']))
__construct(CheckoutSession $checkoutSession, CustomerSession $customerSession, WishlistFactory $wishlistFactory, ManagerInterface $messageManager)