Module Settings Overview

Creating and Managing Bundles

In this chapter you will learn how to group products into bundles, give bundles names, apply discounts and set display positions for them.

To start off, navigate to ProductBundles' settings. If you cannot remember how to do that, go back in the documentation. Then, choose the Bundles tab.

On the top of that tab, there is a drop-down menu, which we will get to later.

Creating bundles

Right beneath the drop-down menu, there is a three-column header of a table. In the bottom right corner, there should be a blue "+" button, saying "Add new bundle" when you hover over it. Click it. Now you have the blank for your first bundle.

Product Bundles column: Here, there is a field saying Add Product. Start typing in the name of the first product you want to include in a bundle. The field is dynamically browsing your products, so usually typing in just part of the name of the desired product should be enough for it to appear in the drop-down menu that shows up once you start typing. Click on the name of the product and it will be moved to the window beneath. That means it is added to the bundle. Do this with as many products as you would like to group in a bundle.

If you have misclicked and want a product removed, simply hover over its name and a red circle should appear opposite of it. Click it and the product will be removed.

Bundle Details column: There are two fields here - Name and Discount.


The first one is meant for the bundle's Name. You can leave it empty, but it is good to set names to your bundles for better recognition.

The second one is Discount. Here, you should enter the discount in the given currency ($ in the example).

Between these two fields, there are two lines. The first one says "Total Price:", followed by the total price of your bundle without discount. The second one says "Bundle Price:" and will be followed by the price of the bundle with discount.

WarningBear in mind that in the back-end, (your admin panel) there are no taxes applied to the products, because there is no customer logged. If your site is using taxes, prices that appear in the front-end will be higher. If you, however, do not use taxes in your website, there should be no difference at all.

Display Positions column: This is a column with two fields and two windows beneath them. Function-wise, this column works similarly to the first one, but instead of being responsible for the bundles' content, it is meant to associate bundles with the specific products/categories, where you want them to appear.

Both the Product and the Category field are managed the same way as the Add Product field from the Product Bundles column. Start typing in the name of the product/category, where you want the bundle to appear and the drop-down menu should appear, parallel to your typing.

NoteCategories with parents in the drop-down menu will appear in the following way: Parent Category > Sub-category 1 > etc.

Removal process is the same as the one in the Product Bundles column.

Choose the product and/or category you want your bundle to appear in, click the Save Changes button in the top right corner and go to the front-end to check out your first bundle.

Back-end Example

This is the bundle settings field:


Front-end Example

WarningIn order for the bundles to appear, make sure you have the module Enabled and assigned to the Product and Category layouts.

This is how the bundle from the example looks in the Laptops & Notebooks category page:


Assignment to other layouts

By now, you have got the basic setup of the module - bundles are visible in both the product and the category pages. But, what if you want to display bundles somewhere else in your store? The Home page, for example.

First off, you have to assign the module to the Home layout.

Since there is no way to assign specific bundles to that page, there is an option in the module's settings that needs to be enabled, in order for the module to show random bundles. That option is the first field in ProductBundles' Settings > Bundles tab. It is a dropdown menu entitled "Show random bundles". Switching it to Enabled will make the module check if it is assigned to layouts, different from Product and Category and display random bundles (depending on the Bundle Widget's settings) there.

Bundle Widget

The drop-down Settings tab in the ProductBundles' settings includes a tab by the name of Bundle Widget. The Bundle Widget is the thing that bundles appear in (in case it is enabled) on the front-end. By the means of this tab's 6 fields, you have the opportunity to customize that as well.

Title: This is where you write a name for your widget. By default, it is Check out this bundle. You can change that to basically anything you like.

Wrap in widget: This is a drop-down menu with two options - Enabled or Disabled.

Enabled example:


Disabled example:


As you can see, the title of the widget is still there, but the outer panel is gone.

NoteThe exact styling of the widget may vary depending on your store theme (if you are using one).

Bundles in widget: This field expects a number as an input and stands for the maximum amount of bundles to be shown in the widget. For example, if you have 4 bundles assigned to a product, but have determined a maximum of 2 to be shown in the widget, a random pair of 2 will show on the front-end.

Picture Width & Height: This is where you can set the Width and Height (in pixels) for the images of the bundled products in the widget. By default, they should both be 80. Example:


Custom CSS: This is the place where anyone familiar with CSS and web design can customize his/her panel.

ProductBundles Listing Page

The ProductBundles extension has a page where all available bundles are shown. You can easily customize it from the admin panel and choose whether to make it accessible from the front-end or not. To do so, navigate to your module settings and from the Settings dropdown menu, choose the Bundle Listing tab.


Listing URL: The first field of the tab gives you a hyperlink to the bundle listing page. You can click it to see how it looks like.

Add link to the listing in the main menu: This is the field that lets you choose whether to make the listing page reachable from the front-end. Main menu refers to the navigation bar in your home page. Enabling it should result in the appearance of two more fields.

Menu Link Title: Here, you can set a title for the button that will appear in your home page. If you are running your store on multiple languages, you will have the chance to set different titles for each.

Menu Link Sort Order: This field expects a number and lets you specify the exact position of the button in the navigation bar. This uses OpenCart's sort order option. You can play around with it to understand its logic better. Inputting "0" should place your button first.

And this is the result on the front-end:


WarningThis whole process of making that button appear and set a specific position for it may be a bit harder to achieve on customized themes. If you have any trouble with that, feel free to file a support request and ask for iSenseLabs' help.

Bundles per page: Here, you can set a number of bundles to be shown per page.

SEO Options: The next few fields will provide options for SEO (Search Engine Optimization), which may considerably boost your SEO rankings.


Page Title: This is the title of the page. What you type here will appear in the tab of the customer's browser. The page title for the example is "Product Bundles".

Meta Description: The meta description is a text that will appear beneath the name of your website when it appears in search engines.

The Meta Keywords are tags that you can insert in your web page to provide search engines with information about your pages. Separate them with commas. These keywords will not be visible anywhere on the page itself.

SEO Slug: This is basically the text that will appear in your URL when you go to a given category (avoid using spaces, replace them with dashes instead).

WarningThe slug will be functional only if you have SEO URLs enabled from your store settings.

Picture Width & Height: These are the fields to set Width and Height (in pixels) for the product images, shown in the listing page. The dimensions for the example are 100x100.

Example on next page:


Custom CSS: The last field in the tab is, again, for CSS application for those familiar with it.

Single/Multiple Discount Logic

Unlike most OpenCart extensions, the ProductBundles Control Panel has an additional field, which is crucial for you to understand in order to get the maximum of the extension. It defines the logic behind discounts for customers, who want to buy a specific bundle multiple times.

Navigate to your Control Panel tab in the Module Settings and take a look at the second field.


If a given bundle is added more than once in the cart: This is a drop-down field with two possible options. It determines whether customers, who are willing to buy a bundle two or more times, will be taking advantage of the applied discount for each of the bundles.

Add the discount once: This means the discount will be applied to the first bundle only.


You have a bundle for 100$ (discount included) that would otherwise cost 150$. A customer, who is willing to buy three bundles, will have to pay 400$ (100$ + 150$ + 150$).

Add the discount every time: This means the discount will be applied to each of the bundles, no matter how many they are.


You have a bundle for 100$. A customer, who is willing to buy three bundles, will have to pay 300$ (100$ + 100$ + 100$).