Product (Category) Listing Templates
The Product Listings page is often referred to as the 'Category' or 'Category Listing' page and its purpose is to display the list of products returned by a Category, set of Filters or Search performed by the customer. It supports a wide range of features and provides a built-in method for filtering products by any combination of Attributes (Size, Colour, etc) and Values (Brand, Price, etc).
This article describes all of the data available to the templates on the Product Listings page and how to go about using it.
Overview
Supported Features
- Quicklook
- Sort By
- Spell checking search
- Items per Page
- Total available products (i.e. 1 - 20 of 128)
- HTML header and footer capabilities
- Search within results
- Breadcrumbs
- Compare products
- Show product sizes below each item
- In stock
- Product review rating
- On sale/on promotion
- Grid/list/window view
- Full filtering navigation including categories, price and reviews
- AJAX sidebar for complete flexibility in finding products
- Most wanted - the best sellers in that category
- Grouping Products by Retailer (Style) Code
Product Listings Data
The product listings pages have access to all of the following data. This can be used for Meta Titles, Breadcrumbs or just general page content as described later in this document.
Search Data
Variable Name | Value | Description |
---|---|---|
$merchandising_tracking_code | String | The Tracking Code is assigned to the current page for the current user, as configured in the Merchandising Rules Action Groups section of the Aurora Back-end. This is most commonly used for tracking A/B Testing campaigns. For more information on this subject, please see the A/B Testing support article. |
$search | String | The HTML Encoded string provided by the customer when searching the website. |
$search_spellcheck | String | The 'corrected' string used by Aurora based on the search string provided by the customer when searching the website. |
$search_alternative | String | The alternative string recommended by Aurora based on the search string provided by the customer when searching the website. |
Centralised Data
The 'centralised data' is a collection of variables pulled together from various sources with the intention of making the right choices for your templates based on rules configured in Aurora. This means that if a Meta Title is configured in more than one place, e.g. on the Category as well as an applicable Filter Template, then Aurora will pick which one should take precedence.
You don't have to use this value if you do not wish as all the values 'considered' are available to you as described in this document and so you can produce your own custom 'decision' making process for this if you wish.
Variable Name | Value | Description |
---|---|---|
$metaTitle | String | The Meta Title text that Aurora has decided is currently applicable to the page. |
$metaDescription | String | The Meta Description text that Aurora has decided is currently applicable to the page. |
$metaKeywords | String | The Meta Keywords text that Aurora has decided is currently applicable to the page. These values are generated from one of the following locations and are often the best source for said information as Aurora deals with priorities on your behalf. The order of precedence from most important to least (which is used when nothing else is present) is as follows: 1. Filter Headers 2. Category Metadata 3. Category Name & Filter Combinations selected in the Sidebar |
$header_filter_canonical_link | String | This is a relative Canonical URL generated from the category data and selected (Sidebar Navigation) Filters, e.g. Sizes. |
$canonical_link | String | This is a relative Canonical URL generated from the category data. |
$view_type | grid | list | The current View Type in use to display the list of products. |
$sortByOptions | Indexed Array | An Indexed Array (starting at an index of 1) of accepted values for the 'Sort By Option' setting. The Index should be used when passing the selected value on for setting in Aurora. |
$selectedSortBy | Integer | The Index of the Sort Order currently selected by the customer from the available options. |
$itemsPerPage | Array | This is an Array of accepted values for the 'Items Per Page' setting. The Key/Value pairs represent the Integer Item Limit (Key) and the Label assigned to said limit for display (Value). e.g. 20 => "Show 20 per page". These values can often both be Integer values, e.g. 20 => 20, but this is entirely dependant on how the Client has configured the labels in the Aurora Back-end. Please be sure to always use the Key as the actual Items Per Page integer value as the Labels may change and can feature non-numeric values. |
$selectedItemsPerPage | Integer | The number of items per page currently selected from the list of options. |
$landing_page | 0 | 1 | If this page has been identified as a 'Landing Page', then this will be 1, otherwise it is 0. |
$noContent | 0 | 1 | If there are no products to be seen on the page, then this will be 1, otherwise it is 0. |
Breadcrumbs
Variable Name | Value | Description |
---|---|---|
$breadcrumbs | Array [ $breadcrumb ] | An array of links, including some contextual data, describing the customers current 'path' to this item, as it is understood by Aurora. |
$breadcrumb | Container | A Container holding all of a Contextual Breadcrumb Links details. |
$breadcrumb.url | String | The relative URL pointing to a page in the Front-end that the customer is considered to be coming from or, be within. This field may not always be set where the item does not in fact have a URL to visit. |
$breadcrumb.name | String | The contextual Name or Label for a page in the Front-end that the customer is considered to be coming from or, be within. This can be the name of a category, e.g. "Clothing", or perhaps the value of a Sidebar Navigation Filter, e.g. "6", where "6" was the size selected by the customer. |
$breadcrumb.id | Integer | Some items, such as Categories, have IDs and so when this is true, this is included here. |
Sidebar Navigation Filter Data
Variable Name | Value | Description |
---|---|---|
$header_filters | Array [ $filter_values ] | An associated array of values describing the current list of filters applied to the list of products being viewed, e.g. Size, Colour, price, etc. This array has a Key/Value pairing where the Key is the abbreviation (as it appears in the URL) for the Filter applied (e.g. size might have a value of "si") and the Value is the list of values (as it appears in the URL) applied to said Filter. |
$filter_values | Array [ $filter_value ] | An array of values applied to the filter (as they appear in the URL). |
$filter_value | String | The string assigned to represent the Filter Value in a URL. e.g. for "Nike Trainers" this might be "nike-trainers". |
Price Filters
Price filters can be implemented as a slider, allowing the customer to drag and drop (depending on the UI chosen by your Design Agency) a slider to set a minimum and maximum price range to filter products by. When doing this, the following values are relevant, but are otherwise not needed at all.
Variable Name | Value | Description |
---|---|---|
$min_filter_price | Integer | The minimum applicable price found for the list of products currently being viewed, i.e. the price of the cheapest product. |
$max_filter_price | Integer | The maximum applicable price found for the list of products currently being viewed, i.e. the price of the most expensive product. |
$min_selected_filter_price | Integer | The minimum price currently selected by the customer for the list of products currently being viewed. |
$max_selected_filter_price | Integer | The maximum price currently selected by the customer for the list of products currently being viewed. |
Related Product Lists
There can be a range of lists of products in addition to the main list of products featured on the Category/Search page itself. These range from Compared Products to Previously Viewed products.
Compared Products
Variable Name | Value | Description |
---|---|---|
$compareArray | Array [ $compare_product ] | An array of product and image IDs currently being compared by the customer. |
$compare_product | Container | A Container holding the Product and Image IDs for the products being compared by the customer. |
$compare_product.id | Integer | The Internal ID Aurora uses to identify a Product. |
$compare_product.image_id | Integer | The Internal ID Aurora uses to identify a Product Image. |
Recently Viewed
Variable Name | Value | Description |
---|---|---|
$recently_viewed | Array [ $product ] | An array of products for the current page. |
$product | Container | Contains every variable from the Product Details page by way of the $product_item variable instead of $product. |
Paging Data
Variable Name | Value | Description |
---|---|---|
$paging | Container | A Container holding all of a Category's details. |
$paging.page | Integer | The number of the page of products currently being viewed, e.g. on "Page 3 of 7" this value would be 3. |
$paging.total_pages | Integer | The total number of pages of products for the current result set (Category/Search/etc). |
$paging.show | Integer | The number of products to show for the current page of results. |
$paging.total | Integer | The total number of products for the current result set (Category/Search/etc). |
Category Data
Variable Name | Value | Description |
---|---|---|
$existingCategories | Array [ $category_link ] | An Array of relative URLs describing the branch of the currently selected category. This Array is organised from parent (first) to currently selected child (last) and includes the category currently being viewed and all its parents. |
$displayCategories | Array [ $category_link ] | An Array of relative URLs describing the available Sub-Categories within the Category currently being viewed. |
$category_link | Container | A Container holding all of a Category Link's details. |
$category_link.url | String | The relative URL for linking to view the category with all currently selected Filters (Size, etc) still applied. |
$category_link.category_name | String | The name of the category. |
$category_link.selected | 0 | 1 | This is always "1" for the category that is currently being viewed, which will always be the last item in the array. For all other items, it is either "0" or not present at all. |
$category_link.id | Integer | The Internal ID Aurora uses to identify a Product Category. Only available within the 'displayCategories' array. |
$category_link.total_products | Integer | The number of products found in the category with all currently selected Filters (Size, etc) still applied. Only available within the 'displayCategories' array. |
$category_info | Container | A Container holding all of a Category's details. |
$category_info.category_name | String | This is the name of the category as it is listed in Aurora. |
$category_info.category_h1 | String | Free-form text content configured for the category can be found here for the general use of the templates for category titling. |
$category_info.meta_title | String | This is the content assigned to this category for use in the Meta Title Tag. |
$category_info.meta_description | String | This is the content assigned to this category for use in the Meta Description Tag. |
$category_info.meta_keywords | String | This is the content assigned to this category for use in the Meta Keywords Tag. |
$category_info.meta_robots | String | The Meta Robots value assigned when editing a category |
$category_info.canonical_link | String | This is the content assigned to this category for use in the Canonical Tag. |
$category_info.category_header | String | Free-form text content configured for the category can be found here for the general use of the templates for page headers. |
$category_info.category_footer | String | Free-form text content configured for the category can be found here for the general use of the templates for page footers. |
$category_info.landing_page | 1 | 0 | This value is controlled by the "Show only description?" setting on the Product Category Edit page in the Aurora Back-end. |
Filter Template Data
For more details information regarding Filter Headers and what they are, please refer to the Filter Headers Guide.
Filter Headers are only applicable to category pages when particular combinations of filters are selected, as configured by the Client in the Aurora Back-end.
Variable Name | Value | Description |
---|---|---|
$filter_template | Container | A Container holding all of a Filter Header Template details. |
$filter_template.filter_meta_title | String | This is the content assigned to this Filter Headers for use in the Meta Title Tag. |
$filter_template.filter_meta_description | String | This is the content assigned to this Filter Headers for use in the Meta Description Tag. |
$filter_template.filter_meta_keywords | String | This is the content assigned to this Filter Headers for use in the Meta Keywords Tag. |
$filter_template.filter_canonical | String | This is the content assigned to this Filter Headers for use in the Canonical Tag. |
$filter_template.filter_header | String | Free-form text content configured for the Filter Headers can be found here for the general use of the templates for page headers. |
$filter_template.filter_footer | String | Free-form text content configured for the Filter Headers can be found here for the general use of the templates for page footers. |
Product Data
Please also see the get_product_details Smarty function in the Product Functions support article for help getting the details of other products by their Product ID.
Variable Name | Value | Description |
---|---|---|
$product_list | Array ( $product_item ) | An array of products listed in the current section. |
$product_item | Container | Contains every variable from the Product Details page by way of the $product_item variable instead of $product. |
Updated about 2 years ago