ModKor Improved Layered Navigation

Multi-select filters · instant soft navigation · price slider · swatches · natural-language filter bar — for Magento 2 + Hyvä

LIVE DEMO — a simulated category page
PRODUCTS 12 ACTIVE FILTERS 0 LAST SWAP /gift-boxes.html

The bar above mirrors what the module does on a real store: filters build core-compatible URLs (multi-values joined with _), and the results swap in without a page reload — the timing shown is the real swap time in this demo.

The storefront, simulated

This is a working model of a category page with the module enabled. Tick several values of one attribute (OR within, AND across), drag the price slider, type a plain-English phrase, or filter yourself into a corner to see the zero-results rescue.

Colour

Type

Dietary

Price

$10$120
12 products

What just happened to the URL

No custom router, no hijacked rewrites — the module produces the same query-string URLs core Magento uses, so caches, sitemaps and other modules keep working. Multiple values of one attribute join with an underscore.

Shopper actionURL the module builds
Colour: Red/gift-boxes.html?color=12
Colour: Red and Blue/gift-boxes.html?color=12_15
+ Type: Sampler · Price $20–60/gift-boxes.html?color=12_15&type=31&price=20-60
Natural language: “vegan boxes under $50”/gift-boxes.html?diet=44&price=0-50
Soft navigation keeps these as real URLs via the History API — back/forward, refresh and share all behave exactly like classic page loads, and any fetch error falls back to a normal reload.

Why it beats the usual suspects

CapabilityStock MagentoTypical “improved nav” extensionModKor ShopBy
Multi-select per attributeNoYesYes
No-reload filteringNoAJAX + jQuery widget stackfetch + View Transitions, zero jQuery
Prefetch on hover/touchNoNoYes
Natural-language filter barNoNoYes — on-server, no API fees
Zero-results rescueNoNoYes
Hyvä-firstOften a paid add-onNative (Alpine + Tailwind)
Core-compatible URLsYesSometimes custom routesYes