Announcement

Collapse
No announcement yet.

Wish List Items Not Combining With Other Same Products in Cart

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Wish List Items Not Combining With Other Same Products in Cart

    Hi Everyone,
    I opened a ticket a while back on this issue that we were having. When you add an item from your wish list to your cart, if you either already have some quantity of that item or add more of that specific item to your cart, the line items do not combine. You now will have 2 lines of the same product with whatever quantities were added. This is super confusing for our customers and our shipping team. The customers get confused and accidentally order more of the 1 product than they actually need and our shipping team has to pick 2 separate line items for the same product which are not always right next to each other on the pick list.

    I was told this is just how it functions in the database and the development team does not think it is an issue. I double checked the database records and it is indeed adding a new line item with a new line_id in the s01_OrderItems table. An alternate workaround was suggested to just disable the wish list functionality, but our customers use that heavily and we do not want to force them away from it.

    So my dream feature request would be to add some logic that runs when adding something to the cart from the wish list or the main site that would check to see if there is already a line item for this product and add the quantity to that line item.

    Anyone else having this issue? Anyone find another workaround? Thank you so much!
    --Scott

    #2
    Wow. Crazy. I've never even tested or thought of that. Does it do that even if the wish list item has the same selected attributes as an item already in the cart? And does it do it for items without attributes altogether as well? Good to know anyways. Thanks for posting.
    Colin Puttick
    Miva Web Developer @ Glendale Designs

    Comment


      #3
      Well, its kind of odd that someone would add a product from their wish list ...that is already in their basket...but yea, something should probably be checked. If it was me, i'd use what's in the basket to control what appears in on the wish list. If you don't use attributes or inventory variants, (and presuming a modern ReadyTheme), you can create a global variable in the minibasket items loop to create a list of product codes.

      <mvt:assign name="g.BasketProductList" value="g.BasketProductList$'|'$l.settings:minibask et:code" />

      Then in the wish list display loop, do something like this:

      <mvt:if expr="(l.settings:wishlist:code$'|') CIN g.BasketProductList">
      <p>Note: This product is already in your basket.</p>
      </mvt:if>

      If you use attributes or variants, simply change "is" to "may".

      Not ideal, but maybe the best approach given that you can't really determine the customer's intent.

      (NOTE: Above code examples are for illustrative purposes and may not use the correct variable names as they are dependent on location and application.)
      Bruce Golub
      Phosphor Media - "Your Success is our Business"

      Improve Your Customer Service | Get MORE Customers | Edit CSS/Javascript/HTML Easily | Make Your Site Faster | Get Indexed by Google | Free Modules | Follow Us on Facebook
      phosphormedia.com

      Comment


        #4
        Originally posted by dreamingdigital View Post
        Wow. Crazy. I've never even tested or thought of that. Does it do that even if the wish list item has the same selected attributes as an item already in the cart? And does it do it for items without attributes altogether as well? Good to know anyways. Thanks for posting.
        Hey Colin,
        Yes, very strange indeed. I just tested again and it still will add duplicate lines if the attributes and variants are the same. It does this on items without attributes and variants as well.

        --Scott

        Comment


          #5
          Originally posted by Bruce - PhosphorMedia View Post
          Well, its kind of odd that someone would add a product from their wish list ...that is already in their basket...but yea, something should probably be checked. If it was me, i'd use what's in the basket to control what appears in on the wish list. If you don't use attributes or inventory variants, (and presuming a modern ReadyTheme), you can create a global variable in the minibasket items loop to create a list of product codes.

          <mvt:assign name="g.BasketProductList" value="g.BasketProductList$'|'$l.settings:minibask et:code" />

          Then in the wish list display loop, do something like this:

          <mvt:if expr="(l.settings:wishlist:code$'|') CIN g.BasketProductList">
          <p>Note: This product is already in your basket.</p>
          </mvt:if>

          If you use attributes or variants, simply change "is" to "may".

          Not ideal, but maybe the best approach given that you can't really determine the customer's intent.

          (NOTE: Above code examples are for illustrative purposes and may not use the correct variable names as they are dependent on location and application.)
          Hey Bruce! This is a great idea actually. I think I could even block it somehow from being added to the cart from the wish list if it is already there. The only things I can think of that would trip this up for us is that we use attributes and variants for some products and the logic also needs to work in reverse. By that I mean, if someone adds something to their cart (ProductA) from their wish list, then navigates to through the site and adds ProductA again to their cart, we also get the duplicate lines in the order. So it does not matter which order they add the items to their cart.

          I think for this particular issue, the dev team may need to look at how to remedy this on the back-end of the framework. At least I hope they think this is an issue, at least from a business standpoint.

          Thank you!

          --Scott

          Comment


            #6
            I won't recommend 'blocking' if you can't determine the 'intent' of the user. I'd use messaging instead. As for the attributes and variants, its possible to match them up too...it just gets more complicated especially with multiple attributes. Basically, you do something like create a variable with items like "product_code:attr1_code,attr2_code,etc|" in the minibasket loop and do a similar variable construction in the Wish List. One of the issues is that you have to do something like:

            Item Loop
            (capture Product code)
            Option Loop
            (capture Attr/Option Code -- Repeat)
            End Options
            End Items
            Display Message
            Bruce Golub
            Phosphor Media - "Your Success is our Business"

            Improve Your Customer Service | Get MORE Customers | Edit CSS/Javascript/HTML Easily | Make Your Site Faster | Get Indexed by Google | Free Modules | Follow Us on Facebook
            phosphormedia.com

            Comment


              #7
              Originally posted by Bruce - PhosphorMedia View Post
              I won't recommend 'blocking' if you can't determine the 'intent' of the user. I'd use messaging instead. As for the attributes and variants, its possible to match them up too...it just gets more complicated especially with multiple attributes. Basically, you do something like create a variable with items like "product_code:attr1_code,attr2_code,etc|" in the minibasket loop and do a similar variable construction in the Wish List. One of the issues is that you have to do something like:

              Item Loop
              (capture Product code)
              Option Loop
              (capture Attr/Option Code -- Repeat)
              End Options
              End Items
              Display Message
              Good call with the attributes. I think this might be a bit over my head in terms of programming, so we are going to have to pay for custom development here unfortunately. I am really hoping that the Miva dev team talks to a business person about this and realizes it should not work the way it is currently. Even Amazon.com will combine the products into 1 line if the item is already in the cart when adding from the wish list or vice versa. This is actually the first time I have been disappointed by Miva's response to an issue, but oh well.

              I may tinker with this again and I will report back any code that I come up with in case anyone else has to work around this issue.

              Thanks again for the guidance Bruce! You are awesome.

              --Scott

              Comment


                #8
                Just wanted to follow-up again on this as this is still an issue with our site. I also noticed that if a product gets added from a wishlist, it also does not sync up the price causing the 2 line items to have different prices as well. Please see the attached image. Screenshot 2021-06-09 084718.png

                Comment

                Working...
                X