Bundle Products 2.3.1

In response to an idea from a long-standing customer, I’ve been working on a system that allows the Shop Owner to make a product that is made out of other products.

Imagine for example, a shop that sells plates, knives, forks, spoons, cups, glasses – and they want to sell a “bundle” of those as a “Dinner Service”. Or perhaps a surfing shop who wants to put together a “beginners bundle” of wetsuit, rash vest, surfboard, leash – these items would be “slaves” of the beginners bundle.

So, I set about making it. It was actually fairly straightforward up to a point. In the following, I’ll take the “surfing” idea;

Firstly, the Shop Owner needs to add the slave products (board, wetsuit, leash, vest) – this is done in the usual way via the admin section.

Step 1: add the master product AND the ability to add slaves (and their quantity) to that product. This is done in the usual way, via the admin area. However, there is a new addition on the product adding/editing page, as so;

The ID input box is the product ID of the slave. The quantity input box is how many of that ID are included in the “bundle”. More slaves can be added by pressing the +Add Slave link;

Once the product is ready, press “save”. The bundle is now available for sale in the shop. At this point, the Shop Owner is expected to have made a good description for the bundle as I have not coded an automatic way for the bundle to show it’s slaves. Would that be needed?

Step 2: Buying the Bundle. This is done in the usual way by the customer, using the usual checkout process. Once the bundle is purchased, the quantities of all the slaves are reduced appropriately. In this way, stock control can be maintained.

Have a look at this video which I made, which shows a different example. In this one the “Test Product” is a slave of the “Graphics Card”.

To Do:

1. Show Slave Products on the Master product_info.php page.

2. Check stock of all slave products before allowing checkout (by this I mean that if a master needs 4 of a particular slave, yet only 3 slaves are in stock, pop up the out of stock message).

Let me know what you think of it so far?

13 Replies to “Bundle Products 2.3.1”

  1. Need to get my head around this (must be the warm beer)

    The bundle is an extra listing comprising of 4 other listings?
    Is there or can there be a option of not having one or more of the slaves?
    How about if the slaves have attributes?

    The idea looks good Gary and I’m interested – subject to my last two questions

  2. The bundle is a bunch of other products that you already sell at your store. Maybe you want to give a bit better price if a person buys a bundle set rather than the individual items.

    If the buyer does not want a bundle deal, he can buy the individual items instead.

    Slaves can’t have attributes.

  3. “Slaves can’t have attributes”

    Clarification; they obviously can, but the bundle wouldn’t know which attribute combination the customer requires (or the shop owner wants to send). So, I suppose the best way around this would be for the Shop Owner to add attributes to the Master Product.

    The Attributes system in 2.x is so poor, it makes no sense to try to recode it to suit.

  4. how is this different from the existing similar implementations of
    1) master / slave products
    2) bundles

    To me it seems very similar to the existing bundles contribution but you use the slave term that is common in the master / slave setup.

    I have both in my shop, bundles being fixed bundles, and master slave for things like tableware, where items bought can be different, but i might have a eg 6 pers promotional offer

  5. Carine – used master/slave only once and a long time ago. Never used bundles. I don’t like using other peoples contributions 😉

  6. I can’t find any download link for this contribution, on the Oscommerce addon site or here. Did you removed it?

  7. Here is the scenario:

    Bundle product A consists of 2 slave product W and 3 slave product X.
    Bundle product B consists of 4 slave product Y and 5 slave product Z.

    I then create a new bundle, product C, that consists of one A & 2 B.
    If I sold 2 each of C, would product W, X, Y, and Z be removed from inventory by 4, 6, 16, and 20 each accordingly?

  8. Hi Eddy.

    I can’t exactly remember how I coded this up, so cannot give a definite answer. I’d say that if you have a BUNDLE as a slave (let’s call it “BS”, then only the BS quantity would be reduced and not the Slave items of the BS.

    Make sense? Or is it all BS? 🙂

  9. Thanks for your prompt answer – it’s not BS at all. However, I think it would make more sense if the system ignores BS quantity and checks quantity of the slaves that make up the BS instead. The inventory will stay accurate by doing so.

  10. Hi Eddy – the problem is knowing where to stop? As in how about if a BS was made up of slaves that had slaves that had slaves that had slaves. It would soon get far from ideal to keep track of…

Leave a Reply

Your email address will not be published. Required fields are marked *