Page 1 of 1
support for customer configurable/customizable products
Posted: Tue Mar 20, 2012 2:16 pm
by srini
Hi,
I am wondering if base platform has any logic built in to support user configurable/customizable products like pc options, pizza, shoe or shirt etc and calculate the total price dynamically based on the options chosen by customer and save the options.
Any insights will be really appreciated.
Thanks,
Srini.
Re: support for customer configurable/customizable products
Posted: Thu Mar 22, 2012 10:41 am
by jefffischer
Take a look at DiscreteOrderItemFeePriceImpl (this is a collection on DiscreteOrderItemImpl). The intent of this entity is to allow price modifiers (or fees) to be added to an item in the cart. Adding these to a DiscreteOrderItem should effect the resulting price of that order item.
Re: support for customer configurable/customizable products
Posted: Thu Mar 22, 2012 6:13 pm
by srini
Thanks Jeff. If I understand right, with DiscreteOrderItemFeePriceImpl price will be adjusted based on product bundle. I see a condition in DemoCartController (if addToCartItem.getSkuId() == 180, itemRequest.setName("Havaletta Bundle")) but didn't understand completely. I guess my question was how to add options to a product and saving the options and new calc price based on what customer chooses. For example if I have n computer models, and each model has options like x different processors, y different HD sizes, Z different RAM sizes and etc.. I am looking for a way to show all the options based on a chosen model, save the model and options based on customer selection and adding it to the cart.
Thank you for your continuous support.
Srini.
Re: support for customer configurable/customizable products
Posted: Fri Mar 23, 2012 3:22 pm
by jefffischer
I don't think that piece of code you mention has anything to do with DiscreteOrderItemFreePriceImpl. Adding a DiscreteOrderItemFeePrice instance to the discreteOrderItemFeePrices collection on DiscreteOrderItem will cause the retail and/or sale price returned from that DiscreteOrderItem to be adjusted by the amount specified in the DiscreteOrderItemFeePrice instance. These fee price instances are persisted with the order item and the order. You can iterate through them on a JSP page at any time and show them to your customer, or whatever. This seems like what you want.
Re: support for customer configurable/customizable products
Posted: Fri Mar 23, 2012 9:22 pm
by srini
Thanks again Jeff. I understand now that prices of different products can be rolled into one item in the order. However I am still not clear is, how can I set up product features in the DB and read them as bundle. Should I set up each feature as a product by itself but if I do that, how can I relate the features (child products) to the main product. let's say, if I go to HP computers website, I pick up a laptop which has pre configured features and then option to make changes/add/remove features. I am trying to find a way how I can define pre-configured features for a product, list all the possible features user can pick from and then saving the user picks as one item in the order. So many questions. I know I am missing something from your explanation and feel like asking the same question over & again.
I really appreciate all the help you are providing.
Srini.
Re: support for customer configurable/customizable products
Posted: Thu Apr 19, 2012 11:06 am
by jefffischer
In your case, if you have a pre-configured list of features that you would like to have on an item (presumably a merchandiser would be in control of this via the admin tool?), I would probably create an extension of the Broadleaf ProductSkuImpl entity and add a custom list to your implementation. This custom list would be populated with "product feature" objects, which is another custom entity in your domain. These would be the default features for your product. Then, at the point the product is converted into an OrderItem, you would have custom code in an OrderService extension that takes the default list of features and populates a similar list on your own OrderItem extension. This is now an OrderItem in the cart with a list of features associated with it. The customer, at this point, would be free to add or take away from this list on the order item, since the OrderItem instance belongs to their cart. In your OrderItem extension, you would also need to override the getter methods for pricing to make sure your modifiers were included in the price for the order item.
This type of approach is on our feature roadmap for an upcoming release, but you can achieve the result right now using custom extension like that described above.
Re: support for customer configurable/customizable products
Posted: Thu Jan 24, 2013 2:32 pm
by Skumar
Hi Jeff -
I have learned from the post that the configurable product type [Product Configurater] has been on your feature roadmap bucket since 2012 [since this post at least]
Would like to know if there has been any update/progress - Thanks !
Regards
Sanal.