View Issue Details

IDProjectCategoryView StatusLast Update
0003524OXID eShop (all versions)1.03. Basket, checkout processpublic2012-12-10 14:13
ReporterAndreHerrmann Assigned To 
Status resolvedResolutionfixed 
Product Version4.5.6 revision 40808 
Fixed in Version4.6.0_RC1 
Summary0003524: 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 ReproduceI 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.
TagsNo tags attached.
PHP Version5.3
Database Version5.1


has duplicate 0003486 closed No shipping costs if last item in basket is marked "free shipping" 
has duplicate 0003278 closedsvetlana Shipping costs are wrong when product is marked as free shipping 



2012-01-26 16:08

reporter   ~0005659


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.




2012-03-27 15:37

reporter   ~0006101

Fixed, that free shipping would be only then there are no non free shipping items.