Jump to content
Sign in to follow this  
zwayne

Why is $free_shipping false in checkout_shipping?

Recommended Posts

I'm confused. Does OSC 2.2 have built-in support for free shipping if over a minimum amount? I have the freeamount contrib installed which seems to be working ok. checkout_shipping.php is bypassing a section for free shipping when the free shipping minimum has been satisfied.

 

The section checkout_shipping.php has

 

// load all enabled shipping modules
 require(DIR_WS_CLASSES . 'shipping.php');
 $shipping_modules = new shipping;

 if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) {
   $pass = false;
...
   }

   $free_shipping = false;
   if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) {
     $free_shipping = true;

     include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php');
   }
 } else {
   $free_shipping = false;  

 

 

The problem statement is

if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') )

 

which is always evaluating false. So $free_shipping can never get set to true, even though ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER). So the html section for $free_shipping is not displayed.

 

As I said, I have freeamount installed which does display it's free shipping info, but how do the above constants get defined with a default osc install?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×