This is something of a hack that I'm looking to do but I thought I'd put it out there in case anyone else with the requisite coding skills was interested in helping work on this and split the workload or smarten it up.
Brief:
- Want to be able to list a product "set" that comprises 2 or more products that are already listed.
- Product is listed manually (not compiled from a list as this would take too much work at this stage)
- Primary aim is to check and update stock levels of the individual products so that there's no need to manually track the inventory for the sets.
- Individual products (components of a "set") are already listed individually and use stock control
- Store admin creates a product listing for the "set" manually.
- Store admin inputs a custom field called "parts" and inputs a comma delimited list of the component products SKU codes (there would be NO sanity checking or selection boxes to make it easier at this point - maybe later?)
- Backend code would then:
- Check inventory/stock level for all components and set stock level to the lowest value
- Any inventory changes (orders, inventory updates, etc..) would check if SKU was in a "parts" custom field for a "set" product listing and update the inventory for the "set" product
- Any sales of the "set" product would update the inventory levels for ALL the component product "parts"
Intended use (example):
The primary reason I'm looking at this is that I sell various bulk printer inks for different desktop printers and each of these inks can be used with a number of different printers and even brands of printer. Trying to build sets of these inks and using the inventory system either requires the inks to be packed as sets and committed to a particular printer/brand or a stock control nightmare that constantly needs to be updated whenever a set or individual product is sold.
Using the approach indicated above, allows the stock control to focus on individual inks/products and automates the set stock control so you don't need to worry about it.
This approach (ie: having the "parts" custom field set to another product SKU) would also allow you to setup a "master" product and have other "clone" products where the actual product is the same across multiple product listings, but you want to create separate product listings for SEO/multiple markets... Example of this is an ink which is compatible with 1 Canon cartridge type and 2 HP cartridge types where I'd want to have different listings for each to maximise my SEO and make it easy for customers to select the right product, but without having to keep ALL the "clone" products inventory updated separately.
Looking at the code it should be relatively easy to achieve something like this... Obviously it'd be nice to include something that allowed you to select/remove the component product listings and update the "parts" field or even have a special field altogether but I'm going for functional over idiot proof..
If anyone is interested in helping please post below... Anyone interested in the finished product, just watch this thread, please don't chuck in "me too please" posts... constructive input and actual code contributions only