I want to sell two types of products on my site:
1. CDs, for which I want to charge shipping/handling
2. Concert tickets, for which I don't want to charge shipping/handling
For the CDs, I created "tangible" products. For the concert tickets, I created "generic" products.
When my cart contains only "generic" products, no shipping charge is added--good. When my cart contains only "tangible" products, shipping charges are added based upon either the number of items, or the total dollar value of items in the cart--good.
The problem arises when I have both "tangible" and "generic" products in my shopping cart. In this case, shipping charges are calculated and added as if the "generic" products are actually tangible, shippable products.
What I would like, and what I believe is the correct behavior, is for "generic" items to be ignored when calculating shipping costs.
Incidentally, products categorized as "donations," when in the same cart as "tangible" items also exhibit this behavior.
(I know that there were several CVS updates today (6/22/2005), and this bug may have been resolved with those, but I'm away from my testing machine and wanted to get this filed.)
| Comment | File | Size | Author |
|---|---|---|---|
| #16 | shippable.patch | 629 bytes | bjornarneson |
Comments
Comment #1
bjornarneson commentedRegarding my comment above, this bug is still effective with the latest 4.6 maintenance release (as of 6/23/2005).
Comment #2
bjornarneson commentedAny ideas about this issue?
Comment #3
matt westgate commentedThis is indeed a bug. Assigning this to myself.
Comment #4
bjornarneson commentedMatthias,
Is this bug fixable in the 4.6 release? I'm willing to send some funds1 your way to bring this issue to the top of your "to-do" list.
1 This functionality is needed by my non-profit [read: cash-poor] employer (homepage at http://nlca.com).
Comment #5
moshe weitzman commentedit seems that shipping module is required even for a donation only site. without it, i see "Fatal error: Call to undefined function: shipping_calculate_cost() in /home/weitzman/contributions/modules/ecommerce/cart/cart.module on line 264".
a donation is not tangible (at least on this site), and thus I don't need to collect shipping info. same for address.module. i don't need it, but i get error sif not enabled - "Call to undefined function: address_get_address() in /home/weitzman/contributions/modules/ecommerce/cart/cart.module on line 474"
Comment #6
bjornarneson commentedThe scope of this bug seems to be expanding in the 4.6 ecommerce package.
With today's ecommerce.tar.gz, shipping calculations/costs are now being applied to *all* items, regardless of whether they are "non-shippable" or "donation", etc.... This behavior occurs even when non-shippable or donation items are the only ones in the cart.
Comment #7
arthurf commentedI had this problem, then I turned on the address module and things started working again. It would be nice if we could "group" the ecommerce modules together- perhaps make a prefix for them so that it would be obvious that some are needed to have the store functionality.
Comment #8
bjornarneson commentedI have the address module turned on. Can't seem to shake this bug.
Comment #9
cparrish817 commentedI'm running into the same bug. a donation of $25.00 is showing a total of $30.00. Also for me the order isn't making it all the way though.
Comment #10
cparrish817 commentedI was able to solve this by keeping the shipping mod enabled but setting it to not calculate shipping.
Comment #11
bjornarneson commentedWhat then if I have tangible/shippable items that require shipping charges?
Comment #12
alext-1 commentedIs there a possible time line on this? will there be a fix for this on 4.6?
Comment #13
alext-1 commentedI am not getting an error on drupal 4.6.5, only 4.7 with generics... I will be using 4.6.5 thx
Comment #14
bjornarneson commentedOK. I'm no php whiz, but it doesn't look to me like the following function, located at line 330 of shipping.module 4.6 accounts for any way to determine whether $item is shippable. Can someone smarter check on this?
Comment #15
bjornarneson commentedI think I've fixed this bug!
Replace the entire IF/ELSE function at line 330 in
shipping.modulewith this code:Basically, without the check to
if(product_is_shippable), *all* items in the cart, regardless of their "shippability" were being added to the $pivot_element total.Sorry, I don't know how to properly generate a patch. Hopefully somebody will be able to whip this up and get it committed.
Comment #16
bjornarneson commentedOK. So I did a little homework and have submitted my first patch.... See attached. This patch is for Ecommerce 4.6.
Comment #17
gordon commentedCommited to cvs
Comment #18
(not verified) commented