A alternative idea for attributes with price - line type, rules and product references
I hit a big problem recently with Commerce and attributes, that almost needed me to bin everything and go with a different system. I would like to describe the attribute idea / potential solution that might keep Commerce as a viable option in this use case.
User experience has been an issue. Every solution I found to a problem in the form of a module presented it's own set of inconsistencies (based on the different in approach by Commerce and the module developer).
Variations linked to product displays, Commerce Fancy Attributes to create a cool view of color variations. and Commerce Product Pricing Attributes for attributes that should not be variations but affect price, and Length and Width fields as line types with rules to adjust price (not using Physical Product or Physical Fields as I did not see the advantage).
What worked -> it functioned as it needed to, prices were updated.
What did not work -> the user experience was awful.
Why? Because Pricing Attributes updates the price dynamically, but the Commerce quantity field and line types do not. For the user, this is inconsistent and not logical. Change was needed. Either quantity and the length / width needed to adjust price dynamically, or everything else needed not to.
Research into dynamic price changes from quantity got nowhere. When asked it was generally misunderstood.
1) Not using Pricing Attributes (not because it is a bad module, but it's approach is different to Commerce. It also has the issue that prices in the drop down don't include tax / vat, which is important with EU VAT laws).
2) A taxonomy vocab with a Name and Price field.
3) A taxonomy term for each attribute with the price change difference
4) A line type field for the term reference, with 'Include this field on Add to Cart forms for line items of this type' checked.
5) A 'Calculating the sell price of a product' rule that adds the term price value to the unit price.
What do you think? Workable? I would love feedback on this, especially from others who see the issues due to inconsistency that come with this framework approach. As much as I want to love Commerce, I feel it needs more input from a user experience point of view, and up until now I was not sure how to help with this.
One issue I do see here is the display of the term price value in the product display. I haven't yet figured out how to do that.