Skip to content

Category filter form partial

Filter controls inside a catalog listing.

Output: HTML partial.

This partial receives the local inputs below. It does not define a separate page view model.

Input Type Purpose
filtersData object Alias of viewModel.catalog.filters, set by the listing partial.
categoryFilterInstance string Unique instance suffix for desktop/mobile element IDs; default: default.
Field Type Meaning Availability
filtersData.activeItems array Prepared active items collection; may be empty. When the parent is provided; check optional fields.
filtersData.activeItems[].groupLabel string Prepared group display text. For each existing item; optional child fields depend on item type.
filtersData.activeItems[].key string Key value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.activeItems[].label string Label value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.activeItems[].labelKey string Label key value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.activeItems[].removeUrl string Prepared remove URL; use unchanged. For each existing item; optional child fields depend on item type.
filtersData.activeItems[].value number Value numeric value. For each existing item; optional child fields depend on item type.
filtersData.activeLabel string Prepared active display text. When the parent is provided; check optional fields.
filtersData.applyLabel string Prepared apply display text. When the parent is provided; check optional fields.
filtersData.clearLabel string Prepared clear display text. When the parent is provided; check optional fields.
filtersData.clearUrl string Prepared clear URL; use unchanged. When the parent is provided; check optional fields.
filtersData.closeLabel string Prepared close display text. When the parent is provided; check optional fields.
filtersData.groups array Prepared groups collection; may be empty. When the parent is provided; check optional fields.
filtersData.groups[].hasActive boolean Whether active applies; use for display only. For each existing item; optional child fields depend on item type.
filtersData.groups[].key string Key value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].label string Label value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].labelKey string Label key value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].options array Prepared options collection; may be empty. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].count number Count numeric value. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].countLabel string Prepared count display text. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].isActive boolean Whether active applies; use for display only. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].isDisabled boolean Whether disabled applies; use for display only. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].key string Key value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].label string Label value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].url string Prepared url URL; use unchanged. For each existing item; optional child fields depend on item type.
filtersData.groups[].options[].value number Value numeric value. For each existing item; optional child fields depend on item type.
filtersData.groups[].range object Range data; check child fields before use. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.currencyDecimalPlaces number Currency decimal places numeric value. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.currencyIsoCode string Currency iso code value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.fromLabel string Prepared from display text. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.localeCode string Locale code value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.maxLabel string Prepared max display text. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.maxValue string Max value value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.minLabel string Prepared min display text. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.minValue string Min value value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.selectedMaxLabel string Prepared selected max display text. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.selectedMaxValue string Selected max value value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.selectedMinLabel string Prepared selected min display text. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.selectedMinValue string Selected min value value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.step string Step value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.toLabel string Prepared to display text. For each existing item; optional child fields depend on item type.
filtersData.groups[].range.unitSymbol string Unit symbol value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.groups[].style string Style value supplied for this context. For each existing item; optional child fields depend on item type.
filtersData.hasActiveFilters boolean Whether active filters applies; use for display only. When the parent is provided; check optional fields.
filtersData.hasGroups boolean Whether groups applies; use for display only. When the parent is provided; check optional fields.
filtersData.isfullmode boolean Whether isfullmode applies; use for display only. When the parent is provided; check optional fields.
filtersData.isquickmode boolean Whether isquickmode applies; use for display only. When the parent is provided; check optional fields.
filtersData.itemsUrl string Prepared items URL; use unchanged. When the parent is provided; check optional fields.
filtersData.mobileButtonLabel string Prepared mobile button display text. When the parent is provided; check optional fields.
filtersData.mode string Mode value supplied for this context. When the parent is provided; check optional fields.
filtersData.params object Params data; check child fields before use. When the parent is provided; check optional fields.
filtersData.params.catalog_currency_id number Catalog currency id numeric value. When the parent is provided; check optional fields.
filtersData.params.catalog_price_list_id number Catalog price list id numeric value. When the parent is provided; check optional fields.
filtersData.params.manufacturer_ids array Prepared manufacturer ids collection; may be empty. When the parent is provided; check optional fields.
filtersData.params.variant_value_ids array Prepared variant value ids collection; may be empty. When the parent is provided; check optional fields.
filtersData.resultCountLabel string Prepared result count display text. When the parent is provided; check optional fields.
filtersData.showActiveFilters boolean Whether active filters applies; use for display only. When the parent is provided; check optional fields.
filtersData.showForm boolean Whether form applies; use for display only. When the parent is provided; check optional fields.
filtersData.showMobileFilterButton boolean Whether mobile filter button applies; use for display only. When the parent is provided; check optional fields.
filtersData.showProductsLabel string Prepared show products display text. When the parent is provided; check optional fields.
filtersData.showQuickFilters boolean Whether quick filters applies; use for display only. When the parent is provided; check optional fields.
filtersData.showSummary boolean Whether summary applies; use for display only. When the parent is provided; check optional fields.
filtersData.sortKey string Sort key value supplied for this context. When the parent is provided; check optional fields.
filtersData.submitUrl string Prepared submit URL; use unchanged. When the parent is provided; check optional fields.
filtersData.titleLabel string Prepared title display text. When the parent is provided; check optional fields.
filtersData.useSidebar boolean Whether use sidebar applies; use for display only. When the parent is provided; check optional fields.

The reference package uses its bundled theme CSS, Bootstrap and theme JavaScript. Account and checkout controls use the bundled checkout script. Partials use their caller’s resolved assets.

Resolve this partial after setting its documented inputs:

<cfinclude template="#request.resolveStorefrontView('partials/category_filter_form.cfm', viewModel.theme.key)#">

Navigation branches use cfmodule with their documented attributes instead of cfinclude.

Use prepared URLs and labels. Encode plain text and HTML attributes; preserve only explicitly prepared HTML.