Zen Cart Logo
Forums / Built-in Shipping and Payment Modules / Force Shipping Quote on certain categories?

Force Shipping Quote on certain categories?

Locked

Views: 982

Results 1 to 5 of 5
This thread is locked. New replies are disabled.
5 Oct 2009, 2:03 PM
#1
dw08gm avatar

dw08gm

Totally Zenned

Join Date:
Sep 2008
Location:
DownUnder, overlooking South Pole.
Posts:
1,017
Plugin Contributions:
2

Force Shipping Quote on certain categories?

I want to force the requirement to request shipping quote on certain categories, due to the special packing or other shipping treatment that may be needed for these products. I have installed the Request Shipping Quote mod, but this primarily functions as a last resort shipping option (when all else fails) rather than forcing a quote.

If, at the same time and in the same order, a customer orders product(s) from "non-forced shipping quote categories", the request for shipping quote must still be forced, so as to allow me to provide separate shipping quotes for the various products.

I have a proviso that no goods will be reserved until paid for, but this must not detract from providing the shipping quotes.

I am also thinking to create a shipping product that will allow the customer to select various shipping options (insurance, signed delivery etc), however, I am undecided whether to invoke this page prior to allowing the customer to pay for the product. Without this shipping product, more work is needed to prepare several quotes.

To do all this, I gather one or more "if" statements is required, but I am unsure how to write and where to place same. As I will be using other shipping modules, the code must disable these modules even when the order weight or dimensions may be within the specification of these modules.

Guidance greatly appreciated. TIA

5 Oct 2009, 3:06 PM
#2
dw08gm avatar

dw08gm

Totally Zenned

Join Date:
Sep 2008
Location:
DownUnder, overlooking South Pole.
Posts:
1,017
Plugin Contributions:
2

Re: Force Shipping Quote on certain categories?

Maybe a better way is to create a shipping option page that will allow the customer to select various shipping options (insurance, signed delivery etc), which would need to be inserted between the Select Shipping and Confirm Order pages.

So the question becomes how does one do this?

7 Oct 2009, 3:42 PM
#3
dw08gm avatar

dw08gm

Totally Zenned

Join Date:
Sep 2008
Location:
DownUnder, overlooking South Pole.
Posts:
1,017
Plugin Contributions:
2

Re: Force Shipping Quote on certain categories?

I think I have resolved the problem of forcing a quote.

I am only using the Ozpost and Request for Quote (RFQ) shipping modules, with the solution lying within includes\modules\shipping\ozpost.php.

Within this file, to disable Ozpost and only display RFQ, immediately after (lines 67-68)
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) $this->enabled = ((MODULE_SHIPPING_OZPOST_STATUS == 'True') ? true : false);

insert
// disable for one master_categories_id
if ((IS_ADMIN_FLAG == false && $_SESSION['cart']->in_cart_check('master_categories_id','4') > 0)) {
$this->enabled = false;
}
if ((IS_ADMIN_FLAG == false && $_SESSION['cart']->in_cart_check('master_categories_id','5') > 0)) {
$this->enabled = false;
}
if ((IS_ADMIN_FLAG == false && $_SESSION['cart']->in_cart_check('master_categories_id','6') > 0)) {
$this->enabled = false;
}

For individual products, replace ('master_categories_id','6') with ('products_id','26') etc.

Further insight can be found at http://www.zen-cart.com/forum/showthread.php?t=91394.

To force quote on Ozpost server failures, in Admin > Modules > Shipping > Australia Post (ozpost) set
Cost on Error
from 25,99
to 0,0

Hope this helps.

8 Oct 2009, 5:45 AM
#4
p1drobert avatar

p1drobert

New Zenner

Join Date:
May 2007
Location:
Melbourne, Australia
Posts:
88
Plugin Contributions:
0

Re: Force Shipping Quote on certain categories?

dw08gm:

I think I have resolved the problem of forcing a quote.

I am only using the Ozpost and Request for Quote (RFQ) shipping modules, with the solution lying within includes\modules\shipping\ozpost.php.

Within this file, to disable Ozpost and only display RFQ, immediately after (lines 67-68)
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) $this->enabled = ((MODULE_SHIPPING_OZPOST_STATUS == 'True') ? true : false);

insert
// disable for one master_categories_id
if ((IS_ADMIN_FLAG == false && $_SESSION['cart']->in_cart_check('master_categories_id','4') > 0)) {
$this->enabled = false;
} etc.

hi dw08gm,

err.. which post are you responding to? In case you were responding to my blank page on quotation problem which requires the ozpost module to quote again I tried your suggestions. Didn't work I'm afraid. If you weren't refering to that, err..well I'm a little embarressed now.

It looks to me as if the ozpost module won't work for anyone using SSL on their checkout page. It looks like the the quotes are stored somewhere for the first time around, as decribed by rod earlier, but then, I think, fails to retrieve the quotes from the SSL secured folder, because well, its secured.

I'm still trying to figure out how to save the quotes in another folder rather than the ($_SESSION['_ozpost_quotes') location the ozpost module appears to be using.

8 Oct 2009, 10:42 AM
#5
dw08gm avatar

dw08gm

Totally Zenned

Join Date:
Sep 2008
Location:
DownUnder, overlooking South Pole.
Posts:
1,017
Plugin Contributions:
2

Re: Force Shipping Quote on certain categories?

Hi Robert

Sorry but I was only responding to my own posts above, and posting to the Ozpost forum was just in case someone else might find the solution helpful. However, while I should have added that I have not tested the solution on a live server, it seems to be a standard solution that works in diverse shipping methods.

Regarding your specific problem, I have yet to look at it in any depth. However if you problem occurs with a particular kind of category, product or product-type, you could try to isolate same using the above solution and try shipping by another method.

Best Regards