Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

possible to skip checkout_shipping.php?


spoot

Recommended Posts

Hi -

 

My client does not want to give customers shipping options; the only way orders are shipped is by FedEx ground.

 

Some products are oddly sized, and are therefore more expensive to package and ship than others. These products are priced with a flat rate for shipping. (Or, more accurately, using the "First Item $X, Additional Items $Y Shipping" module.)

 

All other products will use the amount returned from FedEx Real Time Quotes.

 

I've installed multi vendor shipping, which works fine, and lets me specify a different vendor for different products; but if a customer purchases a mix of products (with a mix of vendors), they're given a long list of shipping options on checkout, and are asked to select one.

 

There may be other solutions, and I'd like to hear them; but what I'm thinking is that I'd just like to skip checkout_shipping.php altogether. Since the customer doesn't really have a choice of shipping options, it's not really necessary.

 

Anyone have any thoughts on this? Or is there a different solution available? I've searched these forums & seen a number of questions on similar subjects, but no answers.

 

Thanks in advance for any input,

 

Michael

Link to comment
Share on other sites

I've installed multi vendor shipping, which works fine, and lets me specify a different vendor for different products; but if a customer purchases a mix of products (with a mix of vendors), they're given a long list of shipping options on checkout, and are asked to select one.

If this is so, then you have missed a step in the install as the customer should be presented with only one shipping option in multi-vendor and not have a choice of all of the different methods. I can't remember if you need to disable all of the other methods or set them to "false" for do you want to display X shipping method. Either way the only thing that should appear is "shipping and handling = $x.xx" which is the sum of the different methods that would be used for a given order and not all of the different methods that are to be used. HTH

Link to comment
Share on other sites

Now I think I remember what you need to do for multi-vendor. First enable all of the shipping methods you want to use in the admin. Then go into each one of the methods file in the catalog/includes/modules/shipping directory and comment out the line:

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")");

 

After that line is commented out in all of the files then go into the admin panel and disable all of the methods except the multi-vendor method. As mentioned in the install instructions "you may need to manually edit the MODULE_SHIPPING_UPS_STATUS (and USPS) entries in configuration table and set them to 0 in order to disable the modules." in order for the shipping methods to highlight the red radio button in your admin panel instead of showing green all of the time.

 

You will also need to make sure that all of your shipping methods are included in the switch in catalog/includes/modules/shipping/mltshp.php . I do not remember which are included in the contribution already but it is this part:

 

                            switch ($row['module_name'])
                               {
                                       case "ups":

                                               $rate = new ups;
                                               $mltQuote = $rate->quote('GNDRES');

                                               //Any other module specific processing / charges should be done here
                                               break;
                                       case "usps":
                                               $rate = new usps;

                                           $mltQuote = $rate->quote('Priority');

                                               //Any other module specific processing / charges should be done here
                                               break;

 

As an example, if you wanted to also include the per product shipping contribution you would need to be sure to add it to the switch like so:

 

                            switch ($row['module_name'])
                               {
                                       case "ups":

                                               $rate = new ups;
                                               $mltQuote = $rate->quote('GNDRES');

                                               //Any other module specific processing / charges should be done here
                                               break;
                                       case "usps":
                                               $rate = new usps;

                                           $mltQuote = $rate->quote('Priority');

                                               //Any other module specific processing / charges should be done here
                                               break;

                                      case "indvship":
                                               $rate = new indvship;
                                               $mltQuote = $rate->quote('indvship');
                                               break;

 

HTH

Link to comment
Share on other sites

Thank you for all the input. One thing concerns me - the line in the shipping modules is now:

 

    function remove() {
     tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
   }

 

I'll try it, but whenever I see class stuff like $this -> keys () I always get nervous & think I'm breaking something somewhere else.

 

At any rate, I'll post the results.

Link to comment
Share on other sites

Still not there...

 

Now, when I checkout with two items, one using fedex quotes, one using first item plus, I get a single line in my shipping charges:

 

Shipping & Handling $1.00

 

Is there any obvious reason why this would be happening? I feel like I'm missing the boat entirely somewhere - it seems no shipping method is enabled.

 

I've set Multi Vendor Shipping to 1 (also "True" - it seems either is acceptable), and added to mltship.php:

 

   	 case "fedex":
     $rate = new fedex1;

        $mltQuote = $rate->quote('Ground Service');

     break;
     
  	 case "firstitemplus":
     $rate = new firstitemplus;
     
    	 $mltQuote = $rate->quote('firstitemplus');
     
     break;

 

All other shipping methods have been disabled, and I've commented out the line

    function remove() {
     tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
   }

 

... from each of them. The database has been updated, and the proper (and different) shipping option has been specified for two products.

 

I'm probably going to start the install over from scratch & see if I catch something, but I'm hoping there's something I've obviously missed. Let me know, thanks -

 

Michael

Link to comment
Share on other sites

Have you tried this to see if it helps any for FedEx anyway:

    case "fedex1": //<-you are missing the 1 above
    $rate = new fedex1;

       $mltQuote = $rate->quote('92');

    break;

 

You could also try enabling and then disabling all of the shipping modules as well.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...