Custom Line Item and Pricing Rules
Hi
I have a project were the client wants to sell tickets to an event. There are three different versions of these tickets at three different price points:
dinner and concert ticket - $75
concert ticket - $15
concert ticket (family pass) - $30
The site is designed to use a fast checkout type of setup with a single form once the add to cart button is selected. Using rules the user goes directly to the checkout form.
Using the editablefields module and the commerce custom product module I was able to create a custom line item where the user can choose the ticket type from a select list.
I then created three pricing rules that is supposed to change the unit price based on the user selection in the line item form. Here's the concert ticket item rule:
{ "rules_ticket_cost_concert" : {
"LABEL" : "Ticket Cost Concert",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "rules", "commerce_line_item", "commerce_product_reference", "entity" ],
"ON" : [ "commerce_product_calculate_sell_price", "commerce_line_item_update" ],
"IF" : [
{ "entity_has_field" : { "entity" : [ "commerce-line-item" ], "field" : "field_type" } },
{ "data_is" : { "data" : [ "commerce-line-item:field-type" ], "value" : "15" } }
],
"DO" : [
{ "commerce_line_item_unit_price_amount" : {
"commerce_line_item" : [ "commerce_line_item" ],
"amount" : "15",
"component_name" : "base_price",
"round_mode" : "1"
}
}
]
}
}
The problem is the line item unit price doesn't get updated. The price doesn't get updated when changing the quantity field either. What am I doing wrong. I know there must be a simpler more elegant way of achieving the same thing. Please forgive my commerce noobness!!
Comments
Debugging Rules
Is there an easy way of debugging rules (like adding an alert at a certain point to see if it's executing as desired)?
Great Debugging Engine built into rules
Turn it on at Workflow->Rules->Settings
I know most people here probably know that. I just thought I'd record it for other noobs like myself that aren't aware that it exists.
Closer
After going over Randy Fay's excellent video tutorials (mainly the one "Donations with Custom Line Item Types in Drupal Commerce") I was able to gather enough info to find a couple of places I was going wrong. First my custom line item was set up as a field type list(text) which prevented me from using it in a calculation, after changing it to list(integer) it was available to work with.
The problem now is it works the first time the product is added to the cart, but if I change the custom line item it doesn't dynamically update the unit price. My gut feeling is that I need to find another trigger event because "Calculating the sell price of a product" does't seem to fire when changing the custom line item list. Is there something else I'm missing? Changing the quantity amount at the line item level doesn't dynamically change the total either. I want to be able to have the user select the ticket type and have the unit price and total change dynamically and have them change the quantity to have the total change dynamically.
Any help would be greatly appreciated.
Thanks in Advance
Denpub, I'm also facing same
Denpub, I'm also facing same problem. In my case price is updated for first product only :(
Have you solved this issue ? If yes, then let me know about this issue please.
Thanks.
Wish I could be of more help.
Wish I could be of more help. I'm trying to do the same thing (however, with three fields instead of one).
if I change the custom line item it doesn't dynamically update the unit price
Could you explain this more? What are you changing?