views:

56

answers:

1

Anyone know if the following is possible in .Net, I've commented on how difficult I would consider each element to do.

  • An online shop that allows users to dynamically add products (easy)
  • Within each product they can create options - dropdowns (relatively easy)
  • These dynamically generated dropdowns can affect the product price (difficult)
  • These dropdowns can affect other dynamically generated dropdowns which in turn could affect price (V. Difficult)

So, imagine the admin can add a widget product to the shop, within this widget product they can dictate a series of sizes (dropdown options). Then they can add a series of colours (another dropdown ) and they then add another series of options (another dropdown) for the various materials the widget can be made from.

The end user might choose 'Medium' from the list of sizes, this affects the contents of the contents of the 'colours' (suddenly only black and red are options). User chooses black from the available colours, and the third dropdown's options are in-turn dynamically changed. At every stage the price changes depending on what the user has selected.

The above scenario strikes me as highly complex / difficult and prone to errors. Maybe I'm missing something but I think giving the admin the ability to add dropdowns, allowing them to dictate how one dropdown affects the other (or more than one other) and how each in turn affects the pricing is asking for trouble.

Am I wrong? Is this do-able in a clean and efficient way without adding massively to development time?

And, can anyone think of an ecommerce system that offers that level of customisation?

Thanks.

+1  A: 

Nearly every example of this kind of activity that I've seen uses a cascade, i.e. DDL1 updates DDL2 updates DDL3, etc. Allowing each DDL to effect the others does add to the complexity but I wouldn't put it as very difficult, it's just a case of probably using an AJAX for each DDL to provide updated lists for the other DDLs and the price for the selected options. You'd need to maintain the current selections, if available, as you updated each of the DDLs.

Lazarus
Ajax dropdowns would indeed do it, but the problem / diffiuclty wasn't in that aspect of it. It was giving the admin the ability to dynamically create as many of these dropdowns as they want, create the options in those dropdowns and then allow them to dictate how each dropdown affects the other dropdowns. On top of all that, how each change to each dropdown affects the price.That's the difficult part in my opinion.
ScaryJones
@ScaryJones. So.. this isnt a programming question?
PaulG
It is a programming question. If the above suggestion of AJAX dropdowns is the solution my question then becomes, how difficult / involved would people consider it to be? So, for example I can quite easily create a bunch of cascading AJAX dropdowns but building a system that can dynamically produce them? And dynamically assign which dropdown affects which other dropdown? And also in turn which dropdown affects the overall pricing?To me it would seem hugely complex and I'm just asking if it is that complex and if not then what would people suggest. Thanks.
ScaryJones
I think the answer here is to have a clear view of the problem space and to build the system accordingly. A system that allows a potentially infinite number of cascading DDLs isn't the answer here. I think there is a finite number of DDLs that can achieve unique product selection albeit that the DDLs used may vary, shoe size vs dress size for example. I would approach this from that perspective, know what the possible DDLs are and how they can be combined and I suspect you'll find a fair small (compared to the potentials) list of combinations that can be selected base on the product 'type'.
Lazarus