7

I've been chasing a really weird bug for a couple days now.

When adding items to a wishlist the most recently added item is replaced by the new item. This happens even when all local modules are disabled.

The most recently added item is simply removed from the database table, and the new one inserted. Sometimes I can get more than one item onto the list, but it's very rare.

Others have had similar issues (https://stackoverflow.com/questions/28452259/unable-to-add-multiple-products-to-wishlist), but our issue is not related to pricing or store filters - the records are simply deleted from the database.

Watching the flow, it looks like the Wishlist Item Collection is saved within the Wishlists afterSave() function, and the last item is deleted from the collection.

Not sure why.

Any ideas?

2
  • same here, did you figure out the issue? Commented Jul 13, 2017 at 20:00
  • Ugh, forgot about this one. Nope. Customer didn't want to keep paying us to hunt it down. Let me know if you uncover any clues. Commented Jul 17, 2017 at 21:47

1 Answer 1

3

I've been searching a solution for days but I finally got one (even two solutions) and wrote it here : https://magento.stackexchange.com/a/223786/67048

I had the same problem and the below solution solved it.

Please note that the fix proposed by Chris Rogers works but isn't an optimized solution.

In app/code/core/Mage/Wishlist/Model/Wishlist.php find:

public function getItemCollection() and change

$this->_itemCollection = Mage::getResourceModel('wishlist/item_collection') ->addWishlistFilter($this) ->addStoreFilter($this->getSharedStoreIds($currentWebsiteOnly)) ->setVisibilityFilter();

to

$this->_itemCollection = Mage::getResourceModel('wishlist/item_collection') ->addWishlistFilter($this) ->addStoreFilter($this->getSharedStoreIds($currentWebsiteOnly));

As it is said : this is a work around and not a full solution. The problem is that the visibility filter doesn’t seem to work properly – and so this fix just removes the filter. The following should be considered :

  1. Items added to the wishlist from any store will show regardless of which store the customer is in.
  2. If an item’s visibility is set to not visible and the item has already been added to the wishlist then it will still appear "

(got it from http://thesarfarazlaghari.com/magento-wishlist-shows-online-1-product/ )

I found another solution on the web, which does not require to code and moreover does not need to remove any functionality from magento :

Simply select your store products on catalog page, select ‘Update Attributes’ action and click on submit. Select Websites panel and check your website in ‘Add Product To Websites’ block. Reindex your data if necessary.

( https://stackoverflow.com/a/40244935 )

The last one worked for me too. I'm on Magento 1.9.3.8 by the way.

1
  • 1
    Had the same issue, running the full reindexer alone fixed it for us. Commented Jul 6, 2018 at 22:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.