Skip to content

Search template

Search state, catalog results and related category or manufacturer matches.

Output: page body inside the storefront layout.

Shared structures available in recorded contexts: shop, branding, theme, urls, page, navigation, breadcrumbs, languageSwitcher, currencySwitcher, headerActionContributions, labels, security, footer, cartPreview, accountHeader.

Field Type Meaning Availability
viewModel.catalog object Catalog data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.breadcrumbs array Prepared breadcrumbs collection; may be empty. When the parent is provided; check optional fields.
viewModel.catalog.category object Category data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.display object Display data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.display.fragment object Fragment data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.display.fragment.hasNext boolean Whether next applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.display.fragment.hasNextValue string Has next value value supplied for this context. When the parent is provided; check optional fields.
viewModel.catalog.display.fragment.nextUrl string Prepared next URL; use unchanged. When the parent is provided; check optional fields.
viewModel.catalog.display.fragment.resultCountLabel string Prepared result count display text. When the parent is provided; check optional fields.
viewModel.catalog.display.isEmpty boolean Whether empty applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.display.labels object Labels data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.display.labels.empty string Translated empty text. When the parent is provided; check optional fields.
viewModel.catalog.display.labels.filterError string Translated filter error text. When the parent is provided; check optional fields.
viewModel.catalog.display.labels.loadError string Translated load error text. When the parent is provided; check optional fields.
viewModel.catalog.display.labels.loading string Translated loading text. When the parent is provided; check optional fields.
viewModel.catalog.display.labels.loadMore string Translated load more text. When the parent is provided; check optional fields.
viewModel.catalog.display.showLoadMore boolean Whether load more applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.filters object Filters data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.filters.activeItems array Prepared active items collection; may be empty. When the parent is provided; check optional fields.
viewModel.catalog.filters.clearUrl string Prepared clear URL; use unchanged. When the parent is provided; check optional fields.
viewModel.catalog.filters.groups array Prepared groups collection; may be empty. When the parent is provided; check optional fields.
viewModel.catalog.filters.hasActiveFilters boolean Whether active filters applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.filters.hasGroups boolean Whether groups applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.filters.itemsUrl string Prepared items URL; use unchanged. When the parent is provided; check optional fields.
viewModel.catalog.filters.mode string Mode value supplied for this context. When the parent is provided; check optional fields.
viewModel.catalog.filters.params object Params data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.filters.resultCountLabel string Prepared result count display text. When the parent is provided; check optional fields.
viewModel.catalog.filters.showActiveFilters boolean Whether active filters applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.filters.showMobileFilterButton boolean Whether mobile filter button applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.filters.showQuickFilters boolean Whether quick filters applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.filters.submitUrl string Prepared submit URL; use unchanged. When the parent is provided; check optional fields.
viewModel.catalog.filters.useSidebar boolean Whether use sidebar applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.items array Prepared items collection; may be empty. When the parent is provided; check optional fields.
viewModel.catalog.pagination object Pagination data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.pagination.hasNext boolean Whether next applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.pagination.nextPage number Next page numeric value. When the parent is provided; check optional fields.
viewModel.catalog.pagination.nextUrl string Prepared next URL; use unchanged. When the parent is provided; check optional fields.
viewModel.catalog.pagination.page number Page numeric value. When the parent is provided; check optional fields.
viewModel.catalog.pagination.perPage number Per page numeric value. When the parent is provided; check optional fields.
viewModel.catalog.pagination.totalItems number Total items numeric value. When the parent is provided; check optional fields.
viewModel.catalog.pagination.totalPages number Total pages numeric value. When the parent is provided; check optional fields.
viewModel.catalog.relatedResults object Related results data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.relatedResults.groups array Prepared groups collection; may be empty. When the parent is provided; check optional fields.
viewModel.catalog.relatedResults.groups[].entityType string Entity type value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items array Prepared items collection; may be empty. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].customFields array Prepared custom fields collection; may be empty. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].description string Description value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].entityId number entity identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].entityType string Entity type value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].image object Image data; check child fields before use. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].name string Name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].typeLabel string Prepared type display text. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].items[].url string Prepared url URL; use unchanged. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.groups[].title string Title value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.catalog.relatedResults.hasItems boolean Whether items applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.relatedResults.title string Title value supplied for this context. When the parent is provided; check optional fields.
viewModel.catalog.sorting object Sorting data; check child fields before use. When the parent is provided; check optional fields.
viewModel.catalog.sorting.currentKey string Current key value supplied for this context. When the parent is provided; check optional fields.
viewModel.catalog.sorting.currentLabel string Prepared current display text. When the parent is provided; check optional fields.
viewModel.catalog.sorting.hasOptions boolean Whether options applies; use for display only. When the parent is provided; check optional fields.
viewModel.catalog.sorting.label string Label value supplied for this context. When the parent is provided; check optional fields.
viewModel.catalog.sorting.options array Prepared options collection; may be empty. When the parent is provided; check optional fields.
viewModel.search object Search data; check child fields before use. When the parent is provided; check optional fields.
viewModel.search.currenturl string Currenturl value supplied for this context. When the parent is provided; check optional fields.
viewModel.search.hasQuery boolean Whether query applies; use for display only. When the parent is provided; check optional fields.
viewModel.search.isEnabled boolean Whether enabled applies; use for display only. When the parent is provided; check optional fields.
viewModel.search.query string Query value supplied for this context. When the parent is provided; check optional fields.
viewModel.search.queryLabel string Prepared query display text. When the parent is provided; check optional fields.
viewModel.search.relatedResults object Related results data; check child fields before use. When the parent is provided; check optional fields.
viewModel.search.relatedResults.groups array Prepared groups collection; may be empty. When the parent is provided; check optional fields.
viewModel.search.relatedResults.groups[].entityType string Entity type value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items array Prepared items collection; may be empty. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].customFields array Prepared custom fields collection; may be empty. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].description string Description value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].entityId number entity identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].entityType string Entity type value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].image object Image data; check child fields before use. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].name string Name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].typeLabel string Prepared type display text. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].items[].url string Prepared url URL; use unchanged. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.groups[].title string Title value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.search.relatedResults.hasItems boolean Whether items applies; use for display only. When the parent is provided; check optional fields.
viewModel.search.relatedResults.title string Title value supplied for this context. When the parent is provided; check optional fields.
viewModel.search.resultCountLabel string Prepared result count display text. When the parent is provided; check optional fields.
viewModel.search.resultsTitle string Results title value supplied for this context. When the parent is provided; check optional fields.
viewModel.search.submitLabel string Prepared submit display text. When the parent is provided; check optional fields.
viewModel.search.title string Title value supplied for this context. When the parent is provided; check optional fields.
viewModel.search.total number Total numeric value. When the parent is provided; check optional fields.
viewModel.wishlist object Wishlist data; check child fields before use. When the parent is provided; check optional fields.
viewModel.wishlist.isEmpty boolean Whether empty applies; use for display only. When the parent is provided; check optional fields.
viewModel.wishlist.itemCount number Item count numeric value. When the parent is provided; check optional fields.
viewModel.wishlist.items array Prepared items collection; may be empty. When the parent is provided; check optional fields.
viewModel.wishlist.productIdMap object Product id map data; check child fields before use. When the parent is provided; check optional fields.
viewModel.wishlist.productIds array Prepared product ids collection; may be empty. When the parent is provided; check optional fields.
viewModel.wishlist.wishlistId number wishlist identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.wishlist.wishlistKey string Wishlist key value supplied for this context. 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. Additional page scripts: /theme/reference/category-js. Partials use their caller’s resolved assets.

<cfset viewModel = routeConfig.viewModel>
<cfoutput><h1>#encodeForHtml(viewModel.page.title)#</h1></cfoutput>

Use the page-specific structures above for the remaining content.

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