View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003486 | OXID eShop (all versions) | 1.03. Basket, checkout process | public | 2012-01-05 17:21 | 2012-12-10 14:13 |
Reporter | richard.kiefer | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | duplicate | ||
Product Version | 4.5.6 revision 40808 | ||||
Summary | 0003486: No shipping costs if last item in basket is marked "free shipping" | ||||
Description | Observed behaviour: In Payment-view, shipping methods do not show any shipping costs (for any shipping method) if last article in basket is marked as "free shipping". Expected behaviour: Free-shipping-articles should be kind of excluded from shipping costs calculation, but shipping costs for no-free-shipping-articles should still be applied. | ||||
Steps To Reproduce | Add article with no-free-shipping to basket. => shipping costs are calculated Add article with free-shipping to basket. => no shipping costs are displayed. Add article with no-free-shipping to basket. => shipping costs are calculated. This is also reproduceable in the demoshop with the above named version. Make sure that no shippsetrules unintentionally become active, e.g. for certain price treshholds. | ||||
Tags | No tags attached. | ||||
Attached Files | oxdelivery_4.5.4_issue3486.txt (1,190 bytes)
# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/richardwebfrisch/NetBeansProjects/regame-X2/httpdocs/core # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: oxdelivery.php --- oxdelivery.php Base (BASE) +++ oxdelivery.php Locally Modified (Based On LOCAL) @@ -224,9 +224,13 @@ // mark free shipping products if ( $oProduct->oxarticles__oxfreeshipping->value ) { - $this->_blFreeShipping = true; + //#M3486: No shipping costs if last item in basket is marked "free shipping" + //$this->_blFreeShipping = true; } else { + //#M3486: No shipping costs if last item in basket is marked "free shipping" + $this->_blFreeShipping = false; + $blExclNonMaterial = $this->getConfig()->getConfigParam( 'blExclNonMaterialFromDelivery' ); if ( !( $oProduct->oxarticles__oxnonmaterial->value && $blExclNonMaterial ) ) { $this->_blFreeShipping = false; | ||||
Theme | Both | ||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||
duplicate of | 0003524 | resolved | mindaugas.rimgaila | Shipping of basket will be set to zero for whole basket if shipping-free article is the last that have been put into basket |
|
The problem occurs in oxDelivery::getDeliveryAmount() where a single free-shipping article marks the whole delivery as "free shipping". As a remark to the existing core implementation: deliveries are considered as free-shipping (cf. protected member variable _blFreeShipping initialisation) unless one article is found to be non-free-shipping. The attached diff patch for version 4.5.4 resolves this issue. However, it appears that free-shipping-articles do not contribute to any weight-, size- or price-treshholds; what the intended behaviour is, remains open. |