View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003524||OXID eShop (all versions)||1.03. Basket, checkout process||public||2012-01-26 13:49||2012-12-10 14:13|
|Product Version||4.5.6 revision 40808|
|Target Version||Fixed in Version||4.6.0_RC1|
|Summary||0003524: Shipping of basket will be set to zero for whole basket if shipping-free article is the last that have been put into basket|
as I updated a shop of one of our customers to 4.5.6 (from 4.4.6) a new behaviour with handling shipping costs with shipping-free articles have been reportet to me.
Shipping costs of the whole basket are set to zero if it contains an article which is ship-free even if there are articles who are not ship-free.
|Steps To Reproduce||I tried to reproduce it in your demo shop and first failed, everything seemed to work correct.|
Then we noticed how to reproduce the bug. If the ship-free article is the last one put into basket the error occurs. If you then put another non-ship-free article in it, shipping costs will be shown again.
|Tags||No tags attached.|
we've made a patch which is working.
The error can be found in oxdeliveryclass in method getDeliveryAmount().
There all products will be iterated. If the last product is a free shipping product $this->_blFreeShipping flag will be set to true and this makes the whole basket as free shipping.
We patched this for us by having an opposite flag which looks for articles that *have* delivery costs. If there is one $this->_blFreeShipping will permantly be updated with this value.
||Fixed, that free shipping would be only then there are no non free shipping items.|