Category Listing Rules give PrestaShop ranges their own opening product order and page size while keeping the existing storefront presentation. Installation adds a rules screen; selecting categories, an order and a page size creates the first rule.
One global setting treats new arrivals, clearance and small accessory ranges alike. Separate rules put the latest additions first, lead with lower prices or show a small range together according to your merchandising choices.
You control sorting, products per page and category inheritance, with shop and customer-group conditions. Exact category rules take precedence over inherited ones, and priorities settle remaining overlaps. A maximum limits page size, while the shopper's subsequent sorting choice stays in force.
One rule carries a shared arrangement across a category branch, reducing repeated settings without replacing your theme's product cards.
Summary of what the module offers
Category Listing Rules decides how product ranges open throughout a PrestaShop store: which products lead, how many appear at once, and which rule applies in each catalogue context. The store keeps its existing product cards and navigation, while merchandising decisions live in one dedicated rules screen.
- The overall change: deliberate product order and page size for every important range.
- Per-range control: sorting, manual arrangement, product preview and a complete one-page view.
- Large catalogue management: selected category groups, descendant inheritance and clear priority.
- Audience and store scope: separate rules for shops, customer groups and different product-list contexts.
- Shopper freedom: customer choices and the theme's existing presentation stay intact.
- Setup and upkeep: one rule form, global defaults, on/off controls and a built-in health check.

How does each range receive the right order and page size?
Every rule combines the number of products shown at once with the order in which they appear. Available orders cover position, name, price, stock, reference, manufacturer, date added and date updated, with both directions wherever they make sense. A clearance range therefore opens from the lowest price, new arrivals open from the latest addition, and a replenishment category puts well-stocked products first.
The same screen shows a product preview filtered by name or manufacturer and supports manual arrangement when a curated sequence matters more than an automatic order. Small ranges use the complete one-page view, while a store-wide maximum prevents an unexpectedly large request from producing an unwieldy page.
Before a rule is saved, the chosen category reports how many products it holds and its full path through the catalogue, and a direct link opens that range in the shop. The merchant confirms the right range rather than recognising a mistake later from a customer complaint.

How does one rule manage a large catalogue?
A rule targets one category, any chosen group of categories, or an entire branch with its descendants. That turns a catalogue policy into one setting: every clearance category follows the same price order, while all new-arrival branches share the same page size. A rule reaches subcategories only when you ask it to, so a narrow decision stays narrow.
Exceptions remain precise. An exact category rule takes precedence over an inherited parent rule, the nearest parent wins among inherited matches, and priority settles any remaining overlap. Exactly one rule ends up governing a range, so the result on the storefront is the one written on the form. Each rule also has its own active switch, so a seasonal arrangement is kept for later without affecting the current store.

Which store, audience and product list receives a rule?
Rules are assigned to the shops where they belong, so one multistore installation carries different merchandising for different storefronts. Customer-group conditions give retail visitors, signed-in wholesale buyers and other audiences their own page size and opening order.
The same rules system covers category pages, brand pages, search results and product ranges on the home page. Scope is explicit on every rule, preventing a choice intended for one store, audience or list from appearing in another.

What happens when a shopper changes the order?
A rule decides how a list opens, not how someone is forced to browse it. When a shopper selects another order or another number of products, that choice remains in force as the range is explored. The configured maximum still protects the store from an excessive page size.
The visual side stays with the active theme. Existing product cards, filters, mobile layout and category design remain familiar because the module changes the merchandising decision rather than replacing the storefront presentation. Nothing is copied into template files, so a theme update leaves the rules untouched.

How much work does setup and maintenance require?
Installation creates the rules screen and a separate page for global defaults. A first rule needs a name, its catalogue scope, products per page and the preferred order. Deeper control remains on the same form through inheritance, shop and customer-group conditions, priority, manual arrangement and the active switch.
Global values provide a sensible fallback for every range without its own rule, including a default page size, default order and maximum page size. Rules remain stored if the module is temporarily removed, and settings carried over from an earlier version of the module appear in the new rules screen by themselves.
The rules list carries an internal name for each rule and filters and sorts by category, page size, order, inheritance, priority and state, so a catalogue with dozens of merchandising decisions stays readable. The built-in health check verifies the installation and its rule storage, and repairs what is missing before a catalogue change reaches customers.

-
Referencemprcategorylistingrules
-
Version2.0.5
-
Improvements82
-
Released
-
Updated
-
PrestaShop CompatibilityPS 1.6 – 9.x
-
Pricing ModelOne-time Purchase
-
Module TypeFront & Back-office
-
GDPR RelevantNo
-
Business GoalBoost Conversions
-
External Account NeededNo
-
Module ComplexityFeature-Rich Module
-
Customer Journey StageEngage Shoppers
-
Works With PlatformNo External Platform
Be the first to share your experience with this product.
Category Listing Rules gives you per-category control over how a category page lists its products, the number of products per page and the default sort order, with inheritance down the category tree, store-wide defaults, and a hard cap. It changes only how products are listed; it never modifies products, categories, prices or stock, and adds no columns to PrestaShop's own tables.
v2.0.0 — 2026-07-05
- ▸Productized the module with declarative
mprclr_ruleandmprclr_rule_shopdatabase schema. - ▸Added a dedicated Rules admin page for category selection, products-per-page, show-all mode, sort order, inheritance, priority, active status, and shop association.
- ▸Added global fallback settings for products per page, default sort order, and maximum products-per-page cap.
- ▸Added rule resolution for exact category matches, inherited parent-category matches, priority, and stable tie-breaking by rule id.
- ▸Added multishop-aware rule storage and lookup.
- ▸Added license, update, support, integrity, and install-integrity Back Office wiring.
- ▸Added v1 JSON rule migration into v2 rule rows during install and upgrade.
- ▸Fixed v2 upgrade behavior so admin tabs are installed during upgrade as well as fresh install.
- ▸Fixed the Configuration page so the form is rendered only once.
v1.1.0 — 2026-07-04
- ▸Changed fresh installs to start with an empty
MPRCLR_RULESJSON map instead of a hardcoded category rule. - ▸Updated README notes to describe rule-less default installation.
v1.0.1 — 2026-07-04
- ▸Added the module logo.
- ▸Guarded category query page-size changes with
setResultsPerPageavailability checks. - ▸Normalized saved JSON rules so only positive category ids and positive page sizes are stored.
- ▸Kept invalid JSON input visible in the form so the admin can correct it.
v1.0.0 — 2026-07-03
- ▸Initial release.
- ▸Added per-category products-per-page overrides through the
MPRCLR_RULESJSON configuration map. - ▸Registered
actionProductSearchProviderRunQueryBeforeto adjust category product-search results per page before the query runs. - ▸Added a simple Back Office configuration form for the JSON rule map.
Does this change how products are stored or only how they are listed?
Does it work with multistore?
Does "show all on one page" load the entire category at once?
How does inheritance decide which rule applies?
What happens if a shopper picks their own sort order or page size?
Which PrestaShop versions are supported?
Will my listing rules be lost if I uninstall the module?
- Reworked into a complete per-category listing-rules product
- Per-category products-per-page and default sort order, applied on the category listing page
- Subcategory inheritance — the nearest matching parent wins, with a numeric priority tie-break
Works Well With Category Listing Rules
Modules our team genuinely pairs with this one, and exactly why each belongs in the same setup.
Shoppers narrow a category with facets while Category Listing Rules decides how many products that list shows and in what order, filtering and listing behaviour stay consistent on the same page.
SEO Revolution shapes how a category page looks to search engines; Category Listing Rules shapes what visitors see when they land on it, a sensible sort and page length for each category.
The hard per-page cap stops rule-less categories from rendering huge product lists, and Performance Revolution speeds up delivery of whatever the listing does load, smaller pages, served faster.
No known issues
There are currently no open or resolved issues registered for this module.
Easy return - no questions asked
Install, set up and take profit
Priority Help & Satisfaction Over Sales
You might also like
Who builds and maintains this module
Built and maintained by David Miller and mypresta.rocks. David Miller has worked with PrestaShop since 2013, and the company behind this shop has been registered since 3 December 2018. Every module in this catalogue is our own work, so your questions to support reach the people who wrote the code. The changelog on this page lists every update with its date.