Zen Cart Logo
Forums / Built-in Shipping and Payment Modules / Alternative shipping options

Alternative shipping options

Locked

Views: 1,030

Results 1 to 8 of 8
This thread is locked. New replies are disabled.
12 Oct 2010, 8:21 AM
#1
captain_nightcap avatar

captain_nightcap

New Zenner

Join Date:
Oct 2010
Posts:
5
Plugin Contributions:
0

Alternative shipping options

To all,

I am running Zen Cart V1.3.9b and I have a problem and hope someone can help.

I would like to offer the following shipping options to my customers: -

  1. Standard shipping based on a Table Rate.
    Also, Free Shipping is provided if order is more than say, $80.

  2. Express 2-3 day shipping according to a Table Rate. This option is provided regardless of order amount.

  3. Express 1-2 day shipping according to a Table Rate. This option is provided regardless of order amount.

I can set up option 1 with the following: -

  1. In Admin console, select Modules->Order Total.
  2. In Order Total Modules and in Modules list, select Shipping.
  3. In Shipping side panel click Edit.
  4. Set Allow Free Shipping to True.
  5. In Free Shipping For Orders over text box, type "80".
  6. Click Update.

I then cloned the Table Rate module in order to implement shipping options 2 and 3.

The problem I am having is that whenever the customer's order exceeds $80, Zen Cart displays ONLY free shipping and does not display option 2 and 3. I read from this forum that one can prevent a shipping module from checking free shipping condition by commenting the codes as follows: -

  // disable only when entire cart is free shipping

// if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_FLATEXPRESS_STATUS == 'True') ? true : false);
// }

I tried that but it does not seem to do anything. Have I missed something? Any comment is welcome and appreciated.

12 Oct 2010, 1:37 PM
#2
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Alternative shipping options

You appear to have set the Modules ... Order Totals ... Shipping ot_shipping to control Free Shipping on orders over 80.00 ...

This means this will be the ONLY shipping ...

Turn that off ...

Next, go to the Modules ... Shipping ... Free Shipping Options freeoptions shipping module ...

Set the Total >= 80.00 ...

Now, you will have a Free Shipping Option show with the other shipping methods when the order is >= 80.00 ...

13 Oct 2010, 8:41 AM
#3
captain_nightcap avatar

captain_nightcap

New Zenner

Join Date:
Oct 2010
Posts:
5
Plugin Contributions:
0

Re: Alternative shipping options

Hi Ajeh,

Thanks for the reply. I tried what you suggested and it kind of works but there is one issue. When the customer orders more that $80, four different shipping options are displayed by Zen Cart as follows: -

  1. Free Shipping Option. This is selected by default because order is more than $80.
  2. Standard Shipping.
  3. 2-3 Day Shipping.
  4. 1-2 Day Shipping.

Is there any way to tell Zen Cart not to display option 2 (Standard Shipping) since the customer has ordered more than $80 and is eligible for free shipping? The fact that option 2 is displayed is totally unnecessary and will only confuse the customer.

Any sugestion is welcome and appreciated.

13 Oct 2010, 1:15 PM
#4
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Alternative shipping options

You would need to customize the shipping module used for that method to set the $this->enabled to false to disable it when the Order total is >= 80.00 ...

14 Oct 2010, 8:30 AM
#5
captain_nightcap avatar

captain_nightcap

New Zenner

Join Date:
Oct 2010
Posts:
5
Plugin Contributions:
0

Re: Alternative shipping options

Hi Ajeh,

Thanks for your advise. I did the following and it seems to work for me: -

  1. Open the file "includes/modules/shipping/table.php."
  2. Add the following red highlighted codes: -
// disable only when entire cart is free shipping
    if (zen_get_shipping_enabled($this->code)) {
      $this->enabled = ((MODULE_SHIPPING_TABLE_STATUS == 'True') ? true : false);
    }

 if ($_SESSION['cart']->show_total() >= 89) {
     $this->enabled = false;
}
...
...
14 Oct 2010, 1:09 PM
#6
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Alternative shipping options

Thanks for the update that you have gotten this working correctly and for posting your solution to this issue ... :smile:

19 Nov 2010, 10:45 PM
#7
ewright1234 avatar

ewright1234

New Zenner

Join Date:
Nov 2010
Posts:
16
Plugin Contributions:
0

Re: Alternative shipping options

I have implemented a version of this technique also and found the post very helpful. Thank you!:smile:

20 Nov 2010, 1:21 AM
#8
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Alternative shipping options

Thanks for the update that this was helpful to you in customizing your shipping modules ...