shipping prices depending on weights
Greetings, I have a question...
I have a product type to which I added a list field for choosing the weight of the product...
a) I need to make the shipping prices depending on those weights
b) when the weight of a product goes over the specific weight I must inform the customer that we will email him the information about the shipping price so that he could pay only after that
Does anyone have any idea how to make any of these two things?
thnx
Comments
The thing under b) I managed
The thing under b) I managed to solve.
I'm not sure if this is the best way, but...
I've made a module that adds a checkout rules.
That is, I rearranged commerce_order_rules_contains_product(in its own new module)
in which I hardcoded the logic for my weight fields in products.
I hope that I will find some more elegant solution for problem a)
Same problem
Hi,
I get the same problem on a).
Did somebody solve it ?
Shipping prices by total weight, solved.
I've found a way to calculated shipping rules by total order weight, and to enable different calculations for different weight ranges. They key part of the solution was to make use of the conditional rules module (http://drupal.org/project/rules_conditional) to allow tests to occur within Actions.
So my Rule's actions look a bit like this (in shorthand). First we calculate the total weight, using conditions to get the required variables into scope:
Add a variable, decimal value, total-weight
Loop
Conditional
If: Data comparison list-item:type = Product
Conditional
If: Entity has field: field_packed_weight
Calculate a value: weight * quantity => item-weight
Calculate a value: total-weight + item-weight => new-total-weight
Set a data value: total-weight = new-total-weight
So we now have our variable total-weight :) This can be output using the Debug value action, if the Devel module is enabled.
Then we can use the total weight to decide which calculation to use, and to set the supplied shipping line item's value. In my case the switch was at 2kg:
Conditional
If: Data comparison total-weight is-lower-than 2000
Calculate a value: weight * factor1 => weight-cost
Calculate a value: weight-cost + fixed-cost1 => total-cost
Set the unit price to a specific amount: commerce-line-item total-cost <shipping type>
Else:
Calculate a value: weight * factor2 => weight-cost
Calculate a value: weight-cost + fixed-cost2 => total-cost
Set the unit price to a specific amount: commerce-line-item total-cost <postage type>
What am I missing here?
Hello Fonant,
I finally found your post after trying for the entire weekend, wow!! I am feeling excited again.
I tried every step as you listed here but something is stopping me from getting the new-total-weight result. Could it be something that has to do with devel module?? I dont quite understand what you meant by " This can be output using the Debug value action, if the Devel module is enabled." Would you mind spending a few minutes to explain that a little further? also, did you use any calculation rules in commerce or rule components at all?
Thanks so much I hope you will see this reply soon.
BB
Installed Devel...
--
Strange way of calculating
--
Same problem on setting a date value with new-total-weight
I have not this choice in the list. I follow all instructions, but it don't work.
Maybe can you explain your method ?
Thanks in advance