ModKor Improved Layered Navigation for Magento 2
- SKU
- LayeredNavigation
- Magento 2.4.8+ (Community Edition)
- Hyva 1.4.6+ (License required)
- Php 8.4+
- Node 20+
Filtering is where stores win or lose the sale. Stock Magento allows one value per attribute, reloads the whole page on every click, and answers an over-filtered shopper with an empty grid.
ModKor Improved Layered Navigation replaces all of that: true multi-select filtering, results that swap in without a page reload, a drag price slider, swatches in the sidebar — and two exclusives no other layered-navigation extension has: a natural-language filter bar and a zero-results rescue. Built Hyvä-first with Alpine and Tailwind; no jQuery, no RequireJS payload, no external requests.
Multi-select that behaves like the big marketplaces
- Several values of one attribute — Colour = Red and Blue. OR within an attribute, AND across attributes
- Every option stays clickable after a selection (core hides them); each selected value is its own removable chip
- Core-compatible URLs (
?color=12_15) — no custom router, no hijacked rewrites; caches, sitemaps and other modules keep working
Soft navigation — faster than "AJAX navigation"
- Filter and pager clicks fetch the result and swap only the sidebar + product column — no reload, no white flash
- View Transitions cross-fade on supporting browsers; prefetch on hover/touch means the result is usually already loaded when the click lands
- Real URLs the whole time via the History API — back, forward, refresh and share all just work; any error falls back to a normal page load
Price slider & sidebar swatches
- Dual-handle drag slider with live currency-formatted labels, producing core-standard
?price=from-toURLs - Colour and image swatch attributes render as dots / tiles right in the filter, with selected-state rings and counts
- Search-in-filter box and "Show more / less" collapsing for long option lists
Natural-language filter bar — a ModKor exclusive
- Shoppers type "gluten-free gift boxes under $50" — the module maps the words onto your real filterable attribute options plus a price range and lands them on the filtered page
- Keyword/synonym matching on your server — no external API, no per-query fees, no data leaving your store
- Understands under / over / between price phrasing; no match returns the shopper right where they were
Zero-results rescue — a ModKor exclusive
- When a filter combination returns nothing, shoppers normally leave. Instead they get a panel listing their active filters as one-click "remove this one" chips plus clear-all
- Shown only when filters caused the empty result — genuinely empty categories are untouched
Built like it belongs in your codebase
- Filters swapped via
virtualTypeargument override, renderer via a single preference — no core rewrites - Security audited: escaped output everywhere, GET-only endpoint, capped & validated user input, no raw SQL,
strict_typesthroughout — Magento Coding Standard scan: 0 errors - Everything is a store-view-scoped config switch — stage it per store, or switch the whole module off and you're back to stock instantly
Compatibility
Magento Open Source / Adobe Commerce 2.4.4 – 2.4.9 · PHP 8.1 – 8.4 · Hyvä (native) & Luma · ModKor_Core (ships with the suite)






