Hi Everybody,
I need to create a webstore and have decided to use Drupal (particularly the E-commerce modules). My experience with Drupal and it's EC-modules is limited, so it seemed like a good idea to see if I'm not trying to reinvent the wheel here. Hopefully someone with more experience will read this post and let me know if I'm barking up the right tree, or if my approach is totally wrong. Any suggestions are appreciated.
What I need to do is create a site where the visitor can assemble his own menu. The menu has a fixed price, and contains items from different categories. The items themselves are not to be sold seperately, so there is no need for them to carry price tags, or have an 'add to cart' function. Rather, they would show only a description, and have a selection-method attached to them. The completed menus need to be full fledged products, of course. They will be sold, payed for, shipped, invoiced, etc.
I think it boils down to creating an interface for the visitors to create products themselves by using varying items from a number of categories. The categories and the items therein will be given. Also the price and the name of the assembled products will be determined beforehand.
My idea is to create a content type specifically for the items, and to show them on a page (page or story node) ordered by category. The item nodes would have a way of selecting them. Of course there would have to be some programming aswell, so that double selections -- more than one item per category -- can not be made. The page would have a return-button of some kind. When the user clicks that button, the site would check if this particular instance of the product exists already. If so, then that product would be added to the shopping basket. If not, then a new instance of the product would be created and added to the shopping cart. Of course the description of the new products would make use of the items that were selected from the different categories.
Does this make any sense? Is there a solution out there that let's me do something like this already? What tools (modules) would I need to accomplish this?
Comments
I'd recommend making the
I'd recommend making the component parts just regular old nodes w/ a taxonomy vocabulary that lets you specify what part of the menu (entree, side item, etc.) it represents. Make your actual product that users create be a custom CCK type that has the appropriate slots for entree, sides, desserts, etc. These can use CCK's node reference with Views to return the appropriate choices for each slot. If you use taxonomy to classify the menu components, you can also create a catalog that browses by that term.
There are other possibilities, of course, and since I'm a developer for it, I'll also recommend Ubercart which could be used to take advantage of product kits, the attribute system, or even just do exactly what I described above with Ubercart's backend for simple order processing.
Thanx for your input,
Thanx for your input, rszrama.
Following your suggestion I've been trying the CCK and View modules out. My idea was to create simple content types for the different parts of the menu: entree, side item, drink, etc. These only need to have a description and an on/off checkbox (or radio button) so that they can be selected.
I was able to create a view listing only the entrees, side items, or drinks. But no matter what I tried, I couldn't get an actual radio button / checkbox into the view. Also I'm at a loss with regards to adding a submit button to the (footer) of the view that I created...
Somehow, I need to make the visitors pick their side item / drink / entree of choice [1], register their choice [2], and present them with the next menu category [3]. I'm wondering if maybe the CCK and / or the View module aren't granular enough. They seem to get me a long way towards my destination, but not quite. What's the alternative? Create a custom module? What's the best way to go about this?
Anyone?
Maybe not quite... but...
Hmm EC Live Subproduct lets you add products on a product page.
1) you just define the subproducts
2) you create a product
3) then you tell Drupal what subproducts are available for selection along with the product.
It's similar to building a Computer online, you choose the main model (the product) and then add or remove the "bells and whistles" (memory, hard disk, monitor... all would be "subproducts")
Let's say you create a "Breakfast" product.
Then you have choices to add "subproducts" along : for example drink subproducts, "side dish" subproducts, etc. You can set different prices for each, and the selection changes the final price.
Maybe not exactly what you want, but an option that works =)