Post by sativo » Mon Jul 02, 2007 2:54 am

I have yet to see a cart that handles product options in a good way.

From an accounting perspective, product options are not simple attributes associated with 1 SKU.  They are in fact separate SKUs.

So, to track inventory correctly, product options (variants) need to have a SKU associated with them.  But even carts that allow you to associate a SKU to each option do it in a strange way.  They setup some strange parent-child relationship with the products.

Typical example:

Admin user creates product A in the control panel.  In product A's detail screen, there is a tab for product options.  In this tab, the admin user creates option names and values (ex: color: red, blue, yellow).  And as mentioned, some carts allow admin users to associate a different SKU to each option value.  But that's about where it ends.  The option values (and any SKUs associated with them) are considered some sort of quasi-product in the cart.  They aren't regular products that can have different images, their own descriptions, normal inventory tracking, etc.

My recommendation:

Admin user creates separate products as normal (ex: product A, product B, product C) for each option variant he has in the warehouse.  This allows each product to have its own inventory fields, its own images, price, etc -- just like a normal product entry.  Then, the admin user selects any one of these products in the control panel and in the products' detail screen, there is a tab called "Product Options."  There, the admin user can create a product option (or use a global one that is created in some other area of the control panel) and its respective values (red, blue, yellow).  Once this is created, the system displays a list that shows each value and a field next to each value for a SKU number.  The order of this list should also be changeable.

The admin user then adds a SKU number next to each value as such:

red: sku #1 for product A
blue: sku #2 for product B
yellow: sku #3 for product C

Once the admin user submits this entry, the system automatically links all three products together in a daisy chain.

Now, if the admin user selects any of these products in the control panel, and clicks on the Product Options tab, he will see the same list of related products.  If any changes are made, the changes will affect all related product SKUs (example: product C is removed from the list or Product B is replaced with a different SKU).

The first product SKU in the list would be what is viewed in the front-end store catalog.

If that product sells out, and is consequently hidden from view, then the next product in the list takes its place in the front-end catalog.

---

As for the front-end catalog in general, the product detail page would simply reflect that the product has options with some sort of selector.  Once an option is selected, the system would use AJAX to swap in the corresponding product SKU along with its photo, SKU number, price, etc.  This way, if a customer selects "yellow", then the systems add the correct product to cart and manages its inventory properly.
Last edited by sativo on Mon Jul 02, 2007 3:00 am, edited 1 time in total.

Newbie

Posts

Joined
Mon Jul 02, 2007 2:26 am
Who is online

Users browsing this forum: No registered users and 1 guest