Jump to content
dmGremlin

[contribution] individual product shipping prices

Recommended Posts

May I ask what do you mean by it does not work? You mean you installed both but the features don't show up in the admin panel?

 

 

Individual Shipping works fine but i need the functionality that only one Shipping method should be available to the customer. I am using Zones Rates and Individual Shipping.

 

But the problem is that individual shipping displays as a second option to the customer. he can choose between Zones Rates and Individual Shipping. That doesnt make any sense.

 

 

Multi Vendor , does the above. But it does not run under MS2. I displays in Admin but after installing in through the admin, nothing gets changed. All it options are empty.

Share this post


Link to post
Share on other sites

I installed both this module and multi-vendor shipping module (my oscommerce version is MS 2.1. and when I click the "catalog" section in admin panel, I get the error message saying:

 

Parse error: parse error, unexpected T_STRING in /home/www/html/admin/categories.php on line 271

 

May I ask if anyone can shed some light on this? Thanks!

 

line 271 is the following:

 

tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model, /*changes mltship*/ products_ship_method, /*changes indvship*/ products_ship_price, products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . $product['products_quantity'] . "', '" . $product['products_model'] . "', /*changes mltship*/ '" . $product['products_ship_method'] . "', '" . /*changes indvship*/ '" . $product['products_ship_price'] . "', '" . $product['products_image'] . "', '" . $product['products_price'] . "', now(), '" . $product['products_date_available'] . "', '" . $product['products_weight'] . "', '0', '" . $product['products_tax_class_id'] . "', '" . $product['manufacturers_id'] . "')");


Best regards,

 

Elmo

Share this post


Link to post
Share on other sites

I already found the solution. Thanks.

 

I installed both this module and multi-vendor shipping module (my oscommerce version is MS 2.1.  and when I click the "catalog" section in admin panel, I get the error message saying:

 

Parse error: parse error, unexpected T_STRING in /home/www/html/admin/categories.php on line 271

 

May I ask if anyone can shed some light on this? Thanks!

 

line 271 is the following:

 

tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model, /*changes mltship*/ products_ship_method, /*changes indvship*/ products_ship_price, products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . $product['products_quantity'] . "', '" . $product['products_model'] . "', /*changes mltship*/ '" . $product['products_ship_method'] . "', '" . /*changes indvship*/ '" . $product['products_ship_price'] . "', '" . $product['products_image'] . "', '" . $product['products_price'] . "',  now(), '" . $product['products_date_available'] . "', '" . $product['products_weight'] . "', '0', '" . $product['products_tax_class_id'] . "', '" . $product['manufacturers_id'] . "')");


Best regards,

 

Elmo

Share this post


Link to post
Share on other sites

So Aric... Can we see an upgraded install.wri for MS2? Cause i'm not sure what all to change - it was unlcear...

 

I've installed this mod on a MS1 and it works good.. I'm going to try the extra mod so i can do the lower shipping price for each additional product.

I'll let you know how that goes... hope good..

 

Thanks

Share this post


Link to post
Share on other sites

Now as 'genius' was asking for and seemingly finished on his own with help from D. M. Gremlin....

I took the code that DM had put on this thread and applied it to his original mod that I needed and with some added finess got it to work beautifully.

 

This mod adds to the table in the product page so that you can not only add the individual shipping cost, but add the each additional shipping cost as well..

NOTE* - If you have a shipping rate in the indv. shipping field and its the same shipping no matter how many they buy.. You have to put the same amount in for each additional as well - else everything after one will default to 0 or whatever is in that 'each additional' field.

 

Through the application of the mod - I wrote down all I did and can be downloaded here and if MD wants - MD you can for sure add this to your mod if you'd like. I'm by no means a master of php, but this turned out really good and meets my needs exactly.

 

http://www.rynoweb.com/testing/install_addon_pricetwo.wri

Thanks guys for the help and inspiration.

 

D. M. Gremlin - you can PM or email me anytime if you want/need to.

Chuck

Share this post


Link to post
Share on other sites
Something is not clear to me. Maybe I am a little dense  

 

I have products that range from 1 lb to 200 lbs. I have a UPS account that I use to ship everything up to their maximum. (I think this is 75 lbs, but I know they have a maximum they will handle). I want to use UPS as my primary carrier. I have a module installed that collects shipping charges from UPS and displays them at checkout. I am looking for a module that will allow me to over ride the UPS option and FORCE the customer to choose the alternative shipper for any items over the maximum weight for UPS. I do not mind entering the heavy items manually as there are only about 10 items like this in my store. Can you tell me which contribution will be best suited for this purpose?

 

 

Can someone help me with this please?

 

 

Thank You,

 

Mark

Share this post


Link to post
Share on other sites

Hey there Ryno267/Chuck. Nice work putting that together - feel free to post it as an addon contribution if you like.

 

I saw that problem you mentioned, about having to have something in the second individual ship price field no matter what and thought of a solution while I was looking at the code:

 

perhaps if you changed:

// mod indvship

// first mod ok  $this->shiptotal += ($products_ship_price * $qty);

$this->shiptotal += ($products_ship_price); 

if ($qty > 1) { 

$this->shiptotal += ($products_ship_price_two * ($qty-1)); 

} 

// end indvship

to something more like

// mod indvship

// first mod ok  $this->shiptotal += ($products_ship_price * $qty);

$this->shiptotal += ($products_ship_price); 

    if ($qty > 1) { 

     if ($products_ship_price_two > 0) {

   $this->shiptotal += ($products_ship_price_two * ($qty-1)); 

   } else {

     $this->shiptotal += ($products_ship_price * (qty-1));

    }

}

// end indvship

 

you might want to test that first, since that's just off the top of my head, but that should make it so if the second ship price field is 0 that it takes from the first price field... which might not be something everyone would want... but maybe more people would like that in there than not...and it would be easy enough to comment out.

 

Genius also brought up an interesting point in a private message I have neglected to look at in any detail until now... as it stands now, if you have two different products in the cart, it will use the first price for the first one of each item then the second price for any quantity beyond one for each item, but say you wanted to use the second price on every item after the first item in the cart, regardless of if they are different products... this opens up a small can of worms in that you'd have to figure out how to specify which item came first - so that the first price would be accurate. Beyond that, I think you'd just have to replace one line... well I'm not entirely sure what to replace it to, but there's a function in the shopping_cart.php called 'count_contents' that seems to count the total number of things in the cart. You'd need to put an if statement that if the contents were more than 1, use the second price... I can't think of the proper 'spelling' for this offhand but if someone were to start tinkering with it, that would be a good place to start.

 

As far as the shipping thing goes, Mark... multi-vendor shipping combined with this mod might be the way to go... but the multi-vendor mod only works with MS1 as far as I know. Assuming you're in MS1 though, just use individual shipping on all items over 75lbs and then ups for the rest... or although I'm not going to look at it right now (this whole PHP thing is making me cross-eyed) there is a way you can add a line to the top of any given shipping module (look in the catalog/includes/modules/shipping/indvship.php or ups.php) to enable or disable it... $this->enabled == true; so you could surround that with an if statement like

if ($shipping_weight > 75) {

this->enabled == false; 

}

oh, and don't forget to add $shipping_weight to the global variables i.e. global $order, $shipping_weight; - but you might want to test this too as this is just off the top of my head.

 

As far as the handling stuff, mikeinbigfork - I'm fairly sure that the multi-vendor shipping allows you to do what you're asking... you have to manually plug in the handling through the database but it's there. Haven't tested it though.

 

Thank you Aric for porting this over to MS2. Much appreciated.

 

As far as my whole philosophy about the MS1 - MS2 thing, I have more than 20 contributions installed on my shop, plus a bunch of mods I did myself. I was using a snapshot - post MS1 which included the security fixes but not any of the radical changes that created incompatibilities. I am anticipating that by the time I would be done making all the contributions I'm using compatible with MS2, MS3 will come out and break all of them again... so until there is some major improvement in functionality that I absolutely can't do without, all of my mods will remain based on MS1. I wish the core developers would start adding in some of the contributions to the milestones, as it would sure make upgrading a lot less painful for some of us, but that's up to them.

 

Anyways, glad to see this contribution is useful. Sorry I don't come around here much anymore. I got kind of burnt out on coding for while.


-D. M. 8)

Share this post


Link to post
Share on other sites
Hey there Ryno267/Chuck.  Nice work putting that together - feel free to post it as an addon contribution if you like.  

 

I saw that problem you mentioned, about having to have something in the second individual ship price field no matter what and thought of a solution while I was looking at the code:

 

perhaps if you changed:

// mod indvship

// first mod ok  $this->shiptotal += ($products_ship_price * $qty);

$this->shiptotal += ($products_ship_price); 

if ($qty > 1) { 

$this->shiptotal += ($products_ship_price_two * ($qty-1)); 

} 

// end indvship

to something more like

// mod indvship

// first mod ok  $this->shiptotal += ($products_ship_price * $qty);

$this->shiptotal += ($products_ship_price); 

    if ($qty > 1) { 

     if ($products_ship_price_two > 0) {

   $this->shiptotal += ($products_ship_price_two * ($qty-1)); 

   } else {

     $this->shiptotal += ($products_ship_price * (qty-1));

    }

}

// end indvship

 

you might want to test that first, since that's just off the top of my head, but that should make it so if the second ship price field is 0 that it takes from the first price field... which might not be something everyone would want... but maybe more people would like that in there than not...and it would be easy enough to comment out.  

 

Yeah - it would be nice for that second field to be default of regular price, but - at least if somebody wants free shipping on product>1 then they could leave it as zero...

Its friday and I really dont have the brain capacity today to try and figure this out.. lol.. I know that the code you gave doesn't work - It makes the shipping field 0 no matter how many you order. Maybe I'll play with it monday.

Thanks for the positive feedback.

Share this post


Link to post
Share on other sites

I have a similar situation as Mark1. Some of our items are way over the fedex weight limit and cannot be split into multiple packages the way oscommerce does that automatically.

How can we make this work so that when an individual item is over the weight limit (which is 150 lbs for fedex ground) it forces the customer to use a didfferent rate.

This different rate would be excellent to be calculated by weight but we could live with it being a rate programmed for each individual item, but we would like it to show up separately at checkout as the shipping charge.

Share this post


Link to post
Share on other sites

Aside from trying that mod I was talking about above (actually now that I think about it more, it wouldn't work) - you could use the Multi-Vendor shipping with the Individual Shipping contribution, configure all your products that are under 75 (or 150) pounds to use UPS and use individual shipping charges for the rest.

 

ryno - the bug you're describing is a bit odd. From my thinking, at the very worst your shipping charges would be as though you only ordered one item - but the fact that the shipping charges are '0' makes me think there might be a typo somewhere. Ok, I think I see it. Whoops.

 

this:

 

// mod indvship 

  // first mod ok  $this->shiptotal += ($products_ship_price * $qty); 

  $this->shiptotal += ($products_ship_price); 

    if ($qty > 1) { 

     if ($products_ship_price_two > 0) { 

    $this->shiptotal += ($products_ship_price_two * ($qty-1)); 

    } else { 

     $this->shiptotal += ($products_ship_price * (qty-1)); 

    } 

} 

  // end indvship

should be this

// mod indvship 

  // first mod ok  $this->shiptotal += ($products_ship_price * $qty); 

  $this->shiptotal += ($products_ship_price); 

    if ($qty > 1) { 

     if ($products_ship_price_two > 0) { 

    $this->shiptotal += ($products_ship_price_two * ($qty-1)); 

    } else { 

     $this->shiptotal += ($products_ship_price * ($qty-1)); 

    } 

} 

  // end indvship

I had left off the $ from $qty. Sorry about that.


-D. M. 8)

Share this post


Link to post
Share on other sites

Gremlin,

 

Could you integrate Multi Vendor into Individual Shipping and release it as a new version for MS 2.2

Share this post


Link to post
Share on other sites

I already left easy instructions on how to intigrate this contribution with Multi-Vendor shipping, and as I explained above - I'm not modding anything for MS2 at this time. You should be able to apply the same mods that were used in this topic to get this contribution to work with MS2 to get Multi-Vendor to work with MS2 - but I'm not sure. You might try looking at what mods needed to be made to the other shipping contributions (like the fedex one for example) for MS2 to give an idea of what needs to be changed in Multi-Vendor.


-D. M. 8)

Share this post


Link to post
Share on other sites

Sorry, this is kind of OT, but I couldn't find the common thread for the multi vendor contr.

 

I installed it, but when I go to my shipping modules and try to edit it, I see only four blank fields with no text written above, so I can't tell what they are for.

 

I suspect this would be easily solved, so I appreciate any help.

 

Thanks!

Share this post


Link to post
Share on other sites

Thanks for the great contribution!

Is there a way of turning it on and off easily?

From time to time, we offer free shipping on all of our products.

so it will be very helpful when those time comes.

Thanks!

Share this post


Link to post
Share on other sites

There is no admin control of this mod right now...

So there really is no EASY way to turn it on/off per-say.

Share this post


Link to post
Share on other sites

I am not able to test Individual Product Shipping Prices because I am using OSCommerce MS2 and are to stupid to integrate all necessary modifications. So excuse if there is a proposal that is already realized.

 

My idea is to use the categories for different vendors that deliver the products directly to the client. So it would be fine to have two additional fields for each category: Minimum and Maximum shipping costs.

 

So for example there you can define

category 1 (articles from vendor 1): minimum: 2$, max. 10$, first article 1$, all additional articles: 0,50$

category 2 (articles from vendor 2): minimum: 4$, max. 20$, first article 2$, all additional articles: 1$

 

If someone orders now from category 2 articles and from category 2 4 articles the shipping costs will be:

for category 1: 2$ (because minimum isn't reached)

for category 2: 2+1+1+1+1=6$

so together: 8$

 

Perfect, but difficult, would be a connection to different zones like diskussed here.

 

What do you think?

Share this post


Link to post
Share on other sites

Hi dmGremlin

 

Can you just make a slight change in the display of individual Ship at the checkout page.

 

For. ex. If I have set-up Zone Rates or any other shipping module, and if I want to only show the individual shipping of a product without displaying any other Shipping Modules.

 

Can you integrate it into the mod.

Just, Individual Shipping should be visible when its set, for a product.

 

Your help is greatly appreciated

Share this post


Link to post
Share on other sites
Hi dmGremlin

 

Can you just make a slight change in the display of individual Ship at the checkout page.

 

For. ex. If I have set-up Zone Rates or any other shipping module, and if I want to only show the individual shipping of a product without displaying any other Shipping Modules.

 

Can you integrate it into the mod.

Just, Individual Shipping should be visible when its set, for a product.

 

Your help is greatly appreciated

 

This is exactly what i need as well i have some larger items that i need to ship via an alternate carrier and i need to ship 90 % of my products via a courier

Share this post


Link to post
Share on other sites

Hi,

 

I'm wondering if this contribution can be modified to show several shipping methods per individual product (ie., UPS ground, Fedex 2 day, etc.) I already have fields for each shipping method per product in my product table which reflects my cost from a distributor who ships directly to the customer. I would like to simply pass these on as is or with a slight mark-up. I'm on MS2 and have read the code changes posted in this thread, but before I start all this hacking, I'd like to know if this will do the trick.

 

Thanks

Share this post


Link to post
Share on other sites

Can anyone help me out..

 

What would happen if someone bought two items.. one that has individual shipping.. and the other didn't..

 

Could someone explain to me how the shipping would be calculated?

Share this post


Link to post
Share on other sites

Ok I have oscom ms2 and I just installed this and during check out I get the following problem:

 

Sub-Total: 1146 - Table 'streetfl_shop.TABLE_SHIPPING_METHODS' doesn't exist

 

select method_name from TABLE_SHIPPING_METHODS

 

[TEP STOP]

 

What is the problem here? streetfl_shop is my database name and I do have a Table_Shipping_Methods in it, but also during my coding i named my product_ship_method to ship_method due to other errors I was recieving.

Share this post


Link to post
Share on other sites
Ok I have oscom ms2 and I just installed this and during check out I get the following problem:

 

Sub-Total: 1146 - Table 'streetfl_shop.TABLE_SHIPPING_METHODS' doesn't exist

 

select method_name from TABLE_SHIPPING_METHODS

 

[TEP STOP]

 

What is the problem here? streetfl_shop is my database name and I do have a Table_Shipping_Methods in it, but also during my coding i named my product_ship_method to ship_method due to other errors I was recieving.

 

 

Remove product_ship_method

 

It is a part of another mod

Share this post


Link to post
Share on other sites
Genius also brought up an interesting point in a private message I have neglected to look at in any detail until now... as it stands now, if you have two different products in the cart, it will use the first price for the first one of each item then the second price for any quantity beyond one for each item, but say you wanted to use the second price on every item after the first item in the cart, regardless of if they are different products... this opens up a small can of worms in that you'd have to figure out how to specify which item came first - so that the first price would be accurate.  Beyond that, I think you'd just have to replace one line... well I'm not entirely sure what to replace it to, but there's a function in the shopping_cart.php called 'count_contents' that seems to count the total number of things in the cart.  You'd need to put an if statement that if the contents were more than 1, use the second price... I can't think of the proper 'spelling' for this offhand but if someone were to start tinkering with it, that would be a good place to start.  

 

So I have been using this contrib for about 2 weeks now in production. My sales have really jumped and I think it's partially because of this contrib. This contrib allowed me to let my customers know what the shipping cost would be regardless of their location for any given product. I tested this theory out on a few products with positive results.

 

I would however like some ideas on how to deal with the above. I have customers that purchase several products and their shipping turns out to be too high with this contrib. Let's say they purchase 3 different products @ $8 ea for shipping, their total would be $24.... I would love to simply "average it out". Just not sure which script does that math. If customer buys 3 products at $8, $9 and $10 shipping for ea. I would love to see the total shipping for that order average to $9.....

 

Ideas? Thoughts?

Share this post


Link to post
Share on other sites
So I have been using this contrib for about 2 weeks now in production. My sales have really jumped and I think it's partially because of this contrib. This contrib allowed me to let my customers know what the shipping cost would be regardless of their location for any given product. I tested this theory out on a few products with positive results.

 

I would however like some ideas on how to deal with the above. I have customers that purchase several products and their shipping turns out to be too high with this contrib. Let's say they purchase 3 different products @ $8 ea for shipping, their total would be $24.... I would love to simply "average it out". Just not sure which script does that math. If customer buys 3 products at $8, $9 and $10 shipping for ea. I would love to see the total shipping for that order average to $9.....

 

Ideas? Thoughts?

 

Download the latest version of Individual Shipping.

It lets you specify an additional price in which you can increase or decrease the price if a customers buy more than one product.

Share this post


Link to post
Share on other sites

So I have been using this contrib for about 2 weeks now in production. My sales have really jumped and I think it's partially because of this contrib. This contrib allowed me to let my customers know what the shipping cost would be regardless of their location for any given product. I tested this theory out on a few products with positive results.

 

I would however like some ideas on how to deal with the above. I have customers that purchase several products and their shipping turns out to be too high with this contrib. Let's say they purchase 3 different products @ $8 ea for shipping, their total would be $24.... I would love to simply "average it out". Just not sure which script does that math. If customer buys 3 products at $8, $9 and $10 shipping for ea. I would love to see the total shipping for that order average to $9.....

 

Ideas? Thoughts?

 

Download the latest version of Individual Shipping.

It lets you specify an additional price in which you can increase or decrease the price if a customers buy more than one product.

 

I already have that mod. that only works if it's the SAME product. I am talking about multiple DIFFERENT products.

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

×