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.
Additional inputs
Section titled “Additional inputs”| 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. |
Filter structure
Section titled “Filter structure”| 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. |
Assets
Section titled “Assets”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.
Example
Section titled “Example”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.
Behaviour
Section titled “Behaviour”Use prepared URLs and labels. Encode plain text and HTML attributes; preserve only explicitly prepared HTML.