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 NameValueDescription
$merchandising_tracking_codeStringThe 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.
$searchStringThe HTML Encoded string provided by the customer when searching the website.
$search_spellcheckStringThe 'corrected' string used by Aurora based on the search string provided by the customer when searching the website.
$search_alternativeStringThe 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 NameValueDescription
$metaTitleStringThe Meta Title text that Aurora has decided is currently applicable to the page.
$metaDescriptionStringThe Meta Description text that Aurora has decided is currently applicable to the page.
$metaKeywordsStringThe 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_linkStringThis is a relative Canonical URL generated from the category data and selected (Sidebar Navigation) Filters, e.g. Sizes.
$canonical_linkStringThis is a relative Canonical URL generated from the category data.
$view_typegrid | listThe current View Type in use to display the list of products.
$sortByOptionsIndexed ArrayAn 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.
$selectedSortByIntegerThe Index of the Sort Order currently selected by the customer from the available options.
$itemsPerPageArrayThis 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.
$selectedItemsPerPageIntegerThe number of items per page currently selected from the list of options.
$landing_page0 | 1If this page has been identified as a 'Landing Page', then this will be 1, otherwise it is 0.
$noContent0 | 1If there are no products to be seen on the page, then this will be 1, otherwise it is 0.

Breadcrumbs

Variable NameValueDescription
$breadcrumbsArray [ $breadcrumb ]An array of links, including some contextual data, describing the customers current 'path' to this item, as it is understood by Aurora.
$breadcrumbContainerA Container holding all of a Contextual Breadcrumb Links details.
$breadcrumb.urlStringThe 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.nameStringThe 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.idIntegerSome items, such as Categories, have IDs and so when this is true, this is included here.

Sidebar Navigation Filter Data

Variable NameValueDescription
$header_filtersArray [ $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_valuesArray [ $filter_value ]An array of values applied to the filter (as they appear in the URL).
$filter_valueStringThe 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 NameValueDescription
$min_filter_priceIntegerThe minimum applicable price found for the list of products currently being viewed, i.e. the price of the cheapest product.
$max_filter_priceIntegerThe maximum applicable price found for the list of products currently being viewed, i.e. the price of the most expensive product.
$min_selected_filter_priceIntegerThe minimum price currently selected by the customer for the list of products currently being viewed.
$max_selected_filter_priceIntegerThe 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 NameValueDescription
$compareArrayArray [ $compare_product ]An array of product and image IDs currently being compared by the customer.
$compare_productContainerA Container holding the Product and Image IDs for the products being compared by the customer.
$compare_product.idIntegerThe Internal ID Aurora uses to identify a Product.
$compare_product.image_idIntegerThe Internal ID Aurora uses to identify a Product Image.

Recently Viewed

Variable NameValueDescription
$recently_viewedArray [ $product ]An array of products for the current page.
$productContainerContains every variable from the Product Details page by way of the $product_item variable instead of $product.

Paging Data

Variable NameValueDescription
$pagingContainerA Container holding all of a Category's details.
$paging.pageIntegerThe number of the page of products currently being viewed, e.g. on "Page 3 of 7" this value would be 3.
$paging.total_pagesIntegerThe total number of pages of products for the current result set (Category/Search/etc).
$paging.showIntegerThe number of products to show for the current page of results.
$paging.totalIntegerThe total number of products for the current result set (Category/Search/etc).

Category Data

Variable NameValueDescription
$existingCategoriesArray [ $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.
$displayCategoriesArray [ $category_link ]An Array of relative URLs describing the available Sub-Categories within the Category currently being viewed.
$category_linkContainerA Container holding all of a Category Link's details.
$category_link.urlStringThe relative URL for linking to view the category with all currently selected Filters (Size, etc) still applied.
$category_link.category_nameStringThe name of the category.
$category_link.selected0 | 1This 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.idIntegerThe Internal ID Aurora uses to identify a Product Category.

Only available within the 'displayCategories' array.
$category_link.total_productsIntegerThe number of products found in the category with all currently selected Filters (Size, etc) still applied.

Only available within the 'displayCategories' array.
$category_infoContainerA Container holding all of a Category's details.
$category_info.category_nameStringThis is the name of the category as it is listed in Aurora.
$category_info.category_h1StringFree-form text content configured for the category can be found here for the general use of the templates for category titling.
$category_info.meta_titleStringThis is the content assigned to this category for use in the Meta Title Tag.
$category_info.meta_descriptionStringThis is the content assigned to this category for use in the Meta Description Tag.
$category_info.meta_keywordsStringThis is the content assigned to this category for use in the Meta Keywords Tag.
$category_info.meta_robotsStringThe Meta Robots value assigned when editing a category
$category_info.canonical_linkStringThis is the content assigned to this category for use in the Canonical Tag.
$category_info.category_headerStringFree-form text content configured for the category can be found here for the general use of the templates for page headers.
$category_info.category_footerStringFree-form text content configured for the category can be found here for the general use of the templates for page footers.
$category_info.landing_page1 | 0This 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 NameValueDescription
$filter_templateContainerA Container holding all of a Filter Header Template details.
$filter_template.filter_meta_titleStringThis is the content assigned to this Filter Headers for use in the Meta Title Tag.
$filter_template.filter_meta_descriptionStringThis is the content assigned to this Filter Headers for use in the Meta Description Tag.
$filter_template.filter_meta_keywordsStringThis is the content assigned to this Filter Headers for use in the Meta Keywords Tag.
$filter_template.filter_canonicalStringThis is the content assigned to this Filter Headers for use in the Canonical Tag.
$filter_template.filter_headerStringFree-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_footerStringFree-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 NameValueDescription
$product_listArray ( $product_item )An array of products listed in the current section.
$product_itemContainerContains every variable from the Product Details page by way of the $product_item variable instead of $product.