Blog Sections Open
Creating Checkbox-Based Catalog Filters with tagManager
Checkbox filters are one of the simplest ways to make a catalog easier to browse, as long as the URLs and filter templates stay consistent.
A follow-up tagManager note from the old archive focused on a smaller but important piece of the same catalog problem: how to render checkbox filters cleanly and keep the filter URL format understandable.
Example filter row
<div class="filter_row">
<input type="checkbox" id="[[+name]]__[[+index]]" name="f_[[+name]][]" value="[[+value]]" />
<a class="label" href="[[+url]]?f_[[+name]]=[[+value]]">[[+value]]</a>
</div>
Filter container
<div id="filters">
[[!tmCatalogFilters?
&jsMap=`1`
&innerTpl=`filters_innerTpl`
&outerTpl=`filters_outerTpl`
&priceName=`cena-skidka`
]]
</div>
Why this approach is still useful
Even if your current stack uses a different frontend layer, the principle is still solid:
- the input name should tell you which filter group is being changed
- the public URL should remain readable and reproducible
- templates should not guess the filter state from random markup
- the same rendering logic should work with and without JavaScript enhancements
On older Evo stores this kind of setup often solved a very practical problem: editors could add products and product attributes in the manager, while the storefront kept using one reusable filtering layer instead of hard-coded category pages for every attribute combination.
Rendering Checkbox TV Values with DocInfo and DocLister
How to turn stored checkbox TV values into readable output in Evolution CMS by combining a helper snippet, DocInfo, and DocLister.
Building AJAX Catalog Filters with tagManager and getPage
A practical pattern for building AJAX-driven catalog filters in Evolution CMS with tagManager, custom templates, and getPage pagination.