Product Filters - Filter categories and build menus dynamically using product metadata

Developer Noodleman
License Commercial
Compatibility CubeCart v6
Date Added 15th Jun 2017, 19:27
Last Updated 20th Jun 2023, 07:44
Downloads 1,634



Product filters is a module which offers advanced dynamic filtering of products by category based on product meta data. It can be used to drive a dynamic site menu if required. The module offers two different operating models

  1.  Needle & Haystack
    This model is based on the concept that all of your inventory is in a SINGLE category within your store. all of the inventory in one category is considered the haystack. Customers then apply filters to help them find the products of interest. in this case the products are the needles. 
    This model works very well with the dynamic menu feature of the module. Menu items are essentially shortcuts to pre-selected filters which help the customer find the items of interest quicker.

  2. Category sub-filter
    This model is based on a more traditional category filter system. As a customer enters a category they are offered relevant filters based on the inventory in the category. Selecting filters will show the customer only items they are interested in. Another way of looking at this model is that each category is a haystack, much like the needle and haystack model above. In this case you have multiple haystacks for customers to explore. 
    This model does support the dynamic menu, but it works better with a traditional category based menu.

The module has the following features:

    • Two operating models. Needle & Haystack or Category sub-filter


    • Dynamic filter options based on inventory meta data
      Within the product filters module setup the Filter Types and Filter Values that apply to your store inventory. When editing a product in your store you can select the filter values which are applicable to your product. Selected Filter Values are used to dynamically build filter options for customers


    • Dynamic navigation menu
      This is optional depending on how you wish to use the module. The menu supports a maximum of two levels. Top level menu items are known as Filter Groups. Top level filter groups can be linked with a filter value or simply used as a container for other menu items. Depending on the model you are using you can apply the filter group to either your category containing all of your inventory or to a variety of store categories. If you are not making use of the dynamic navigation menu it is recommended to disable the menu by checking the "Disable Dynamic Menu" checkbox in the module general settings. This will disable the calculation of the menu items in the background which offers a slight performance improvement.


    • Price Filter
      Both models support the use of price filters. It is recommended to only setup a single price filter by checking the Price Filter box with the Filter Types tab. When a filter type is a price filter the inventory being filtered is evaluated and split into price ranges as configured in your filter values. A Price Filter requires Filter Values to be configured as numerical ranges. For example, "0 - 10" represents a price filter range of 0 to 10. Any products with its price in the range of 0 - 10 would fall into this filter value. Price filters are not intended to be used in the dynamic menu.


    • Filter & Value sort order:
      Filter Groups, Filter Types and Filter Values are all sortable. The order you define them as within the module configuration is how the items will display on the store front


    • Dynamic SEO paths
      SEO links and data is dynamically built based on your Filters. SEO paths are dynamically built by joining together the SEO path of the parent category, Filter Types and Filter Values. You can review generated SEO links within the SEO Paths tab on a per category basis. Generated SEO paths are added to your store sitemap. You can rebuild the paths at any time using the Rebuild button. It is recommended to rebuild your SEO paths after making any changes to filters or inventory. As changes can be frequent the module includes a script which can be scheduled using CRON to rebuild your paths regularly. The cron file is found in the /modules/plugins/product_filters/cron directory and required no configuration to enable, simply setup the cron task on your server. It is recommended to rebuild paths during quiet periods on your store such as overnight. If no SEO path has been defined for a Filter Type or Filter Value when the rebuild process runs a default value will be generated.


    • Dynamic SEO titles, descriptions and keywords
      SEO titles, descriptions and keywords can be used if you wish. Much like the SEO Paths, titles, descriptions and keywords will merge with the parent category SEO data based on Filter Types and Filter Values. Should you not wish to use this feature you can leave the values as NULL and they will be skipped.


    • Enable & Disable Filter conditions
      You can toggle on or off Filter Groups, Filter Types and Filter Values. A disabled filter condition will be excluded from the menu and filter options shown on the store front but keeps the association of the filter conditions with your store inventory.


  • Linked Document with Filter Value
    This can be a very useful feature if you are using the Needle & Haystack model or Category sub-filter model. Any document within your store can be linked to a Filter Value. If a customer applies a filter condition which is linked to a document then the document content is displayed to the customer before the product list. An example of this would be if a customer chose a Filter Type of "Manufacturer" and Filter Value of "Microsoft" and the Filter Value is linked with a Microsoft document with promotional material. The promotional material specific to Microsoft is displayed before the product list.


Every plugin from Noodleman includes a subscription to "Support & Maintenance" which entitles you to quality support services via the support portal as well as entitlement to upgrade to any new releases of the module.

Full details of support & maintenance services can be found here:

Ever purchased a plugin, only to be concerned that a new version of CubeCart will break it? No need to worry with plugins from Noodleman as frequent updates are released to ensure compatibility with updated versions of CubeCart


When purchasing this module you are purchasing a license key which can be used to unlock the modules functionality permanently in line with your support & maintenance agreement. A license key will be provided to you which is valid for your stores domain. Licenses are issued on a per domain basis. Should you wish to use the module on multiple stores you will require multiple licenses. License keys can be migrated between domains if required. License keys will be sent via e-mail shortly after any purchase.


Note: This video has no sound


I (Noodleman) pride myself on the quality of support I provide to my customers and feel strongly that any product is only as good as it's support. I resolve all issues promptly and issue an update to any module if required. Support isn't just about resolving issues... Support is also there to assist you get the most from your modules and help you should you need assistance with configuration or have general questions. I also take feature requests very seriously, should you feel that a feature is lacking from this, or any of my modules please let me know! I've honoured almost every enhancement request since I started writing modules for CubeCart, it adds value to  my software and to those people who use my software. Support is there to work with you, not just be somebody to turn to if something is broken.

Support tickets can be opened using the support portal which is found:


Auto Install/Upgrade

Click the thunderbolt () icon next to the package you wish to use for instructions.

All documentation is self contained within the module under the "Install Guide" tab.


Product Filters

Version Number Release Date Download Link Release Notes
1.0.0 15th June 2017

Initial Release
1.0.1 23rd June 2017

Release Notes


Ref: 173/385