Is it possible to create bundled products? - Ecommerce - Ecommerce - Progress Community

Is it possible to create bundled products?


Is it possible to create bundled products?

  • Is it possible to create bundled products?
  • Hi,

    We have a client who is interesting in using Sitefinity as their CMS for an eCommerce website.

    However they have some tricky requirements regarding product configuration.

    Probably the most difficult one is that they would like to be able to create a custom bundle product which consists of a number of base products combined to as a single purchasable product.

    I was wondering if this is possible to do by using the Sitefinity eCommerce platform? From the time I have spent playing around with the demo site I haven't found this functionality anywhere.


  • Hey William,

    Officially 'assembled' products aren't in the ecommerce yet, unofficially I know they're wanting to implement this. So at the moment you're looking at a custom solution.

    One approach could be by creating 2 product types, 'part' and 'bundle'. Display only products of the 'bundle' type on your widgets. When they click the 'add to cart' button its time for the funpart :)

    The product-type 'bundle' should be extended with custom fields that contain the guids of the individual parts (field:part1 type:guid. field:part2 type:guid). 

    Then you have 2 options:
    When the user clicks 'add to cart' the code doesn't add the guid of the 'bundle' but iterates through the partfields and adds the individual products.

    Perhaps easier would be to actually checkout the bundle product and just customize the product detail widget to iterate through the part fields and show the description of each product.


  • Thanks for the reply Jochem.

    We'll give these possible solutions some thoughts and see if they might be acceptable for our client.

    Just as some extra information this is an example of the how the product bundling might work:

    An example product bundle could be a desktop computer.

    By default the computer bundle would come with a specified monitor, CPU, RAM etc but the customer would have the option to change the configuration of the computer such as:
    Adding additional monitors
    Changing the CPU
    Changing the RAM
    Adding a mouse and/or a keyboard

    There would be a number of computer packages which would have fixed specs but then there would be computer packages which allow the user to mix and match what CPU, RAM, monitors and other accessories they get.

    Thanks again,

  • Hey William,

    It would have been to easy if the client requested just 'static bundles' :) So since it's friday afternoon, lets get creative...

    Product-Type 'Computer'
    This product type, is basically your bundle product with the usual default fields. For the customization you could create additional fields like this:
    _preconfig_ram_product (contains the guid of the default ram product)
    _preconfig_ram_type (contains identifier to specify ramtype)

    The _ram_product field just contains the id of the default included ram for the bundle. the _ram_type field contains an identifier (taxonomy or custom id) so you can show a certain selection of different products (not just 8Gb vs 16Gb but to make sure its the right type of SDRAM that will work with the mainboard).

    Same for CPU's etc to make sure a client can't select an AMD socket 3 processor when they should be confined to Intel i7 Cores.

    When the user clicks on the 'computer bundle' product and views the detail widget, (s)he sees all the details of the main product and their 'configurable' parts. Now you could do 2 things.

    Extend the product detail widget so the 'parts' alternative products show up as dropdown items. Giving them + or - pricing just like product attributes by subtracting individual price from the default part price. When the user clicks 'Add to cart' it adds the base product + part products (with reduced price) to the cart. Then the user can checkout their products just like normal.

    This would require heavy customization of the product detail widget, but leaves the overview widget and the entire checkout procedure out-of-the-box.

    When the user clicks on 'add to cart' you override the default action and instead of placing the 'computer bundle' product in the cart, you take the user on step/tabbed approach (just like checkout procedure). Each step asks for a confirmation or alternative part product to be added. Once the final step has been reached, you dump all products into the shoppingcart.

    Taking the user by the hand and letting them choose page by page what ram/cpu/mouse they want can be less overwhelming than with the fist option of 1 page with 4-5 dropdowns, on the other hand the checkout process will be longer...

    This option would require to break open the default 'add-to-cart' option and insert custom logic and templates between the product widget and the shoppingcart but has a nicer feel to it.

    Again these are just ideas on how to possibly approach this, there may be smarter/easier ways to go about it...

  • My life would always be easier without clients lovely requests :)

    Thanks you again for the all of the suggestions. We'll look into it a bit further and see how we go!

  • Hello Jochem,

    As it's been 3+ years since your analysis of the Computer bundle scenario, I wonder if today you would have other obserations :)