Catalogue / selection "tool"

Our company uses MODX as a cms (
We would like to extend the site with a catalogue / search / selection tool.
Different selection options which narrows down to a specific type with the ability to download files.

It’s difficult to find examples, most of the companies put it behind a login, but something similar to this:

Are there addons for MODX to achieve this? Or what would be the best way to start this?

1 Like

Hey @fransbas, welcome to the MODX community.

If you’re just looking to setup a static catalog, without checkout and ecommerce functionality, then you could set your products up as resources and collections using the collections extra. For cross filtering, like the example site you included, you could use the advsearch extra accomplish that.

(Please note most of the documentation for creating your own search hooks is located in the actual assets folder for advsearch rather than online.)

Please bare in mind though that you may also want to look at extending the resource object to include your additional product fields for a better search performance. Whilst these could be setup as template variables it wouldn’t be as optimised as if they were actual fields within the resource object. For this I point you to @bobray’s class extender extra and documentation:

For downloads relating to the product/resource you could use FileDownloadR extra or if they are just PDF spec sheets as per the example you could also look into using pdfResource extra to automatically create the PDF documents for you based off of the resource data.

1 Like

Welcome @fransbas! :cowboy_hat_face:

How many products does your company have? The example site you gave seemed to have hundreds or thousands. At quick glance it appeared your website had fewer than a hundred. If that’s the case, I would recommend a jQuery solution similar to something like this (notice the predefined filter). Put the load on the user, not your server. Use MODX to list all of the resources as @lkfranklin mentioned, generate the PDFs, and so on. Then use jQuery to filter out the users query. This solution would not be ideal for overly complicated listings, or lists over ~250. :grimacing:

Thank you for your reply!
@Ikfranklin is this possible within the standard functionality of MODX?

@Mr_JimWest We have 5 product groups, in 10 power ranges in 3 speed ranges in 25 ratios. So all together more or less 3.500 different variants.

Are you planning on making a massive listing of ~3,500 different products, or a list of ~30 products, with a variety of functionality?

3500 products * 30 variables each = lots of work, just saying.

If a customer comes to your site and goes to your filter and selects the “Drives Category” and then the selects a range of “speed”, and makes a “power” selection, why have 75 products show up, when you could show 2 that have the functionality that the customer is looking for? Seems excessive to me. :slightly_smiling_face:

If the massive list is your plan, I would think it might be easier and more efficient to use Ajax calls made to a PHP file that uses the MODX API to query the database and passes the results back via JSON.

1 Like

That makes some sense to me, can you ask the user to first join one of the product groups, then you could provide some range selection within that.

The selection tool might need to be custom. You will also want to worry about server requests