Guest Posted February 17, 2014 Share Posted February 17, 2014 Hi everyone! We are using the cart rule with carrier selection so that we don't have the coupon apply for certain weight ranges.. However, when the customer enters the coupon on summary cart page they get an error. You must choose a carrier before applying this voucher to your order Can anyone please shine some light on if this is normal? It was working before.. not sure why the big fuss now. Am I doing something wrong? Thanks in advance! Link to comment Share on other sites More sharing options...
PascalVG Posted February 18, 2014 Share Posted February 18, 2014 Hi rofl, are you saying that it worked before, even when you had this rule in place? If so, id you change anything that may have affected this? It seems to me that it works correctly, as you say the rule is based on a carrier (it will probably need to check the weight ranges that are in place for this carrier, before it can decide if the voucher can be used or not) Please elaborate a little. pascal. Link to comment Share on other sites More sharing options...
Guest Posted February 19, 2014 Share Posted February 19, 2014 Hey pascal, Odd that is wasn't working there, but it seems I had make some very small modifications to authentication.tpl the day before and the whole process was acting funky - that was only one part of it. I'm not sure if the file didn't upload correctly or what, but now it seems to be working again with a backup. If the problem comes back again I will be sure to let you know. Thanks again, eggo Link to comment Share on other sites More sharing options...
Guest Posted April 14, 2014 Share Posted April 14, 2014 (edited) You must choose a carrier before applying this voucher to your order I am getting this same error again.. I did do some recent work on authentication.tpl and the shopping cart in general... Just cosmetic stuff though... Can anyone suggest what might be causing this or where I can look to fix this issue? For example if you add this to cart: http://anewall.com/landscape/224-john-wootton-a-fox-hunt.html#/media-matte_canvas_museum_wrap/frames-unstretched_canvas/size-28_x_18 And try to apply SOCIAL15.. Ughhhhh. Edited April 14, 2014 by Guest (see edit history) Link to comment Share on other sites More sharing options...
Guest Posted April 14, 2014 Share Posted April 14, 2014 I should note that no changes have been made in the BO. Link to comment Share on other sites More sharing options...
PascalVG Posted April 14, 2014 Share Posted April 14, 2014 What does the rule for SOCIAL15 look like? Link to comment Share on other sites More sharing options...
PascalVG Posted April 14, 2014 Share Posted April 14, 2014 The condition that shows this message is as follows: if ($this->carrier_restriction) { if (!$context->cart->id_carrier) return (!$display_error) ? false : Tools::displayError('You must choose a carrier before applying this voucher to your order'); So it will show this message when the cart_rule is carrier dependent AND no carrier is selected yet. Seems correct to me IF the cart_rule SOCIAL15 is indeed still carrier dependent as in initial topic message (post #1)... Link to comment Share on other sites More sharing options...
Guest Posted April 14, 2014 Share Posted April 14, 2014 Hey Pascal, Thanks for responding! Your right, the rule is carrier dependant because it can't be used for items over certain weights and therefore specific carriers. But I swear it has been working in the past so that it works UNLESS the item is over a weight where the carrier will be used that isn't allowed. Isn't that how it is supposed to be? Not based on the carrier selection because that is step 3, so in that case where does the customer enter the voucher? They have to go back? Link to comment Share on other sites More sharing options...
PascalVG Posted April 15, 2014 Share Posted April 15, 2014 Hmm, interesting. Indeed see problems if some carriers cannot be used for shipping... But let's first check why there's no carrier selected in the first place. Do you have a default carrier selected? Please let me know if this was the case or not (actually there should be a carrier selected by default, so this error you get should not be shown. Only when no carrier available for the address, I can imagine it shows this error OR when there's no default here... So let me know) (shipping->carriers, scroll down a little, you can set this in the settings block below the list of carriers). After checking this, can you now set the default carrier to "Best Price"? I'm not sure if it works, but I can imagine when checking the shipping price, it will also check which carrier can be used at all. Maybe this then also solves the problem of needing to select a carrier before adding the voucher... (hope hope) pascal. Link to comment Share on other sites More sharing options...
PascalVG Posted April 15, 2014 Share Posted April 15, 2014 If this all is not working, you could consider to use the one-page checkout instead of the 5 step one. then they can select a carrier on the same page as where they add the voucher... Link to comment Share on other sites More sharing options...
Guest Posted April 16, 2014 Share Posted April 16, 2014 Hey Pascal, Thanks for the help so far.. I was not able to find the Best Price setting. Also, I do have a default carrier but it still doesn't work. Link to comment Share on other sites More sharing options...
Guest Posted April 21, 2014 Share Posted April 21, 2014 Bump. Can you offer can other advice Pascal? I would really appreciate it. Link to comment Share on other sites More sharing options...
PascalVG Posted April 22, 2014 Share Posted April 22, 2014 Hi rofl, Sorry for slow reaction, went to Bangkok for a few days. Here you should be able to choose best priced-carrier : So choose best price, instead of your current default carrier. Link to comment Share on other sites More sharing options...
PascalVG Posted April 22, 2014 Share Posted April 22, 2014 If that doesn't help, maybe you can try to install the shipping price estimate- module. This gives some option to choose a carrier on the first tab. Maybe this makes it work... pascal Link to comment Share on other sites More sharing options...
Guest Posted April 28, 2014 Share Posted April 28, 2014 (edited) Shipping price is free on more than half our orders though, so it seems redundant most of the time for our customers. Vouchers work that don't have carrier restrictions. The ones with carrier restrictions don't work. I wish it would apply and only not work for the certain weight restrictions as we intended. We only don't want products >1000lbs in our database to not work with the coupon. Edited April 28, 2014 by Guest (see edit history) Link to comment Share on other sites More sharing options...
zeki893 Posted August 27, 2014 Share Posted August 27, 2014 (edited) Are there any updates on how to correct ? I do have a default set and it does show the price $5.When I try to apply the coupon this is the error I get. The coupon is for free shipping. You must choose a carrier before applying this voucher to your order Edited August 27, 2014 by zeki893 (see edit history) Link to comment Share on other sites More sharing options...
zeki893 Posted August 27, 2014 Share Posted August 27, 2014 (edited) i got the error when i select cart rules -> conditions -> carrier selection. to fix this i just unchecked carrier selection, but this ends up having all carriers with free shipping. I just needed usps to be free shipping and hide the rest when the voucher code is applied so i made that the default in shipping -> preferences -> usps then i added a css id to the div in themes/default-bootstrap/order-carrier.tpl from <div class="delivery_option {if ($option@index % 2)}alternate_{/if}item"> to <div class="delivery_option {if ($option@index % 2)}alternate_{/if}item" id="{if $option.is_free || !isset($free_shipping) || $free_shipping }hide{/if}" > added at the end in themes/default-bootstrap/global.css #hide.delivery_option.alternate_item{ display:none; } before: after: Edited August 27, 2014 by zeki893 (see edit history) 1 Link to comment Share on other sites More sharing options...
Regaton Posted March 25, 2015 Share Posted March 25, 2015 Does exist a solution about this pb ?? You must choose a carrier before applying this voucher to your order.How can I choose a carrier when this step is later ? This pb block me, I need help please !!! Thank you ! Link to comment Share on other sites More sharing options...
zeki893 Posted March 30, 2015 Share Posted March 30, 2015 Does exist a solution about this pb ?? You must choose a carrier before applying this voucher to your order.How can I choose a carrier when this step is later ? This pb block me, I need help please !!! Thank you ! try my code above Link to comment Share on other sites More sharing options...
Regaton Posted March 30, 2015 Share Posted March 30, 2015 (edited) Thank you ZEKI893 but your code doesn't work for me. But I don't understand how it can work for my pb. You hide a carrier but this code doesn't answer to my pb. I have seen you have twice the same carrier... So I understand in this case that you want to hide the second carrier... But my pb, I repeat it is : You must choose a carrier before applying this voucher to your order.How can I choose a carrier when this step is later ? Plus I have discovered many bugs on this part... When I create a voucher about free carrier, people needn't to enter the voucher... The carrier is free yet ! It's super weird no ? Anyway, I understand NOTHING about these vouchers ! Edited March 30, 2015 by Regaton (see edit history) Link to comment Share on other sites More sharing options...
PascalVG Posted March 30, 2015 Share Posted March 30, 2015 (edited) Regaton, Some questions: - What PS version do you use? - Do you have more than one carrier to choose from? - Does the voucher only works for one (or a subset of) the carriers? - Can you describe the condition(s) when the voucher can be used? - Does the user really have to add the voucher manually, or could the voucher maybe be added automatically whenever it's possible (by not adding a voucher name/code, it will be added automatically)? - Depending on your voucher conditions, sometimes you can just create the free shipping in the carrier steps (like "if the price over 150$, this carrier gives free shipping" you might do in the carrier range steps instead of using a voucher) Please give some more details about your situation. Thanks, pascal. Edited March 30, 2015 by PascalVG (see edit history) Link to comment Share on other sites More sharing options...
Regaton Posted March 31, 2015 Share Posted March 31, 2015 Thank you to ask ! - I am using PS 1.6.11 - Yes I have several carriers (today 7 carriers but I will have 4) I'm gonna describe what I try to do and what PS does in order to answer to you... "TEST" is a coupon code that offers shiping only for customers who type it. Only one (or several, depends of my select) carrier must be free. So, if you don't have the code you can't have the free shipping. That's why it's very important to create a code. I don't want an automatic rule. I create the code according to my will above... (you can see pictures and the steps to create this voucher) And now... What PS does when I want to order using the code "TEST" : What can I do to avoid this error ? Thank you again to help ! Link to comment Share on other sites More sharing options...
PascalVG Posted March 31, 2015 Share Posted March 31, 2015 Yes, I understood the problem you had. Possible solutions/work arounds: - Maybe make the Livraison à domicile your default carrier. This might help. (But only if you don't have other vouchers for other carriers which will then give the same problem for those carriers, of course) - Use instead of the 5 step checkout the one page checkout. This way the customer can just scroll down quickly to choose a carrier and then add the voucher code again. - any other solution needs hacking in the source code of PrestaShop, which may prove difficult/time consuming. You would have to accept vouchers independent on if they can be used, then at the end in step 5 check if they indeed can be used. (And if not, alert the buyer that the voucher will unfortunately not work with these chosen settings, which is also strange, as they will think 'why didn't you tell me in the first place when I added the code". You can't really 'win' here... I would go for option 2, one page checkout... pascal. Link to comment Share on other sites More sharing options...
PascalVG Posted March 31, 2015 Share Posted March 31, 2015 N.B. Additional problem with carriers is that they are address dependent. Like if your address is in France, carrier X and Y are possible, but if your address is in the USA, only carrier Z is available. So you have to add your address first before you can make a choice of carrier. (I agree that promo code input would have been best at the end, when all dependencies were settled...) Link to comment Share on other sites More sharing options...
Regaton Posted April 2, 2015 Share Posted April 2, 2015 Hello, I tried to choose the good default carrier in vain. Choose the One Page Checkout is impossible bc one of my carriers doesn't work in this way. I don't mind to modify some code... But where ? Plus if I read the Prestashop guide (for 1.6) they explain exactely what I need but it doesn't work. I am really chocked (and sad) that this pb is not fixed since 2012 or 13... It's crazy. Plus it means nobody purposes to offer one carrier in their prestashop ? In ecommerce business it's realy (super mega extra giga) important... In my opinion thought ! But yes Prestashop team could fix this pb. I see plenty people with this pb and no real solution. I am desperate !!! So no solution ? Link to comment Share on other sites More sharing options...
St055 Posted June 1, 2015 Share Posted June 1, 2015 Just to follow. Having same problem... Link to comment Share on other sites More sharing options...
dungeoncrawler Posted October 13, 2015 Share Posted October 13, 2015 I'm also having the same problem. This is a basic function of PrestaShop, how is this not working without going to a 3rd party product? I have the shipping defaulted to USPS, but it still throws the error and there is no where for the buyer to select the carrier. Link to comment Share on other sites More sharing options...
dungeoncrawler Posted October 14, 2015 Share Posted October 14, 2015 i got the error when i select cart rules -> conditions -> carrier selection. to fix this i just unchecked carrier selection, but this ends up having all carriers with free shipping. I just needed usps to be free shipping and hide the rest when the voucher code is applied so i made that the default in shipping -> preferences -> usps then i added a css id to the div in themes/default-bootstrap/order-carrier.tpl from <div class="delivery_option {if ($option@index % 2)}alternate_{/if}item">to <div class="delivery_option {if ($option@index % 2)}alternate_{/if}item" id="{if $option.is_free || !isset($free_shipping) || $free_shipping }hide{/if}" > added at the end in themes/default-bootstrap/global.css[/size] #hide.delivery_option.alternate_item{ display:none; }before: after: Admittedly, I was scared to do this, but it worked! THANK YOU! PRESTASHOP FIX YOUR BASIC FUNCTIONS!!! Link to comment Share on other sites More sharing options...
Recommended Posts