The faceted navigation displays a block with different criteria available to filter the products, mostly attributes, features, and price ranges. It is very handy to help the customers easily find a product.
This module has been massively reworked and keeps evolving frequently. This master issue (EPIC) allows to track the status of the module and follow its improvements : https://github.com/PrestaShop/PrestaShop/issues/9684
Introduction
The module displays a block on category pages with layered navigation filters. Layered navigation enables the customer to define cumulative criteria to filter category products, little by little providing more details in order to reduce the number of displayed products. This is a great tool for customers who know the details of what they want (color, condition, price range…), but are unsure how to find it.
When configuring the module, you are presented with 4 sections:
- Index and caches : this module heavily relies on database index and its own content cache.
- Existing filter templates : A filter template is the kind of navigation to which the customer has access to.
- Build your own filter template : You can build various templates, which will serve as the basis for what the customer sees.
- Configuration : You can further detail the way this module operates.
Indexes and caches In order to work properly, layered navigation needs to be kept up-to-date with your latest products, product attributes and product prices – unless these never change. You should therefore regularly re-index the data, using the buttons provided here. They each have specific actions:
Existing filters templates Layered navigation is based on templates, or groups of criteria. There is one by default, named “My template”, which makes use of all the available filters. You should create templates more adapted to your content or needs.
You can have as many templates as needed. This section enables you to edit and delete them when necessary.
Build your own filters template The template builder enables you to specify what kind of filters your customers should have access to.
Creating a new template requires only three easy steps:
The checkbox allows to select several filters, while radio button and dropdown list only allow one choice.
Configuration Several options are available:
Availability options
There are 3 options in the module configuration when the availability filter is enabled:
If the option is set to Yes, display in FO “In stock”: Product quantity > 0
By default it should be on Yes
If the option is set to Yes, display in FO “Available”: Product quantity <= 0 & available for order
By default it should be on Yes
If the option is set to Yes, display in FO “Out of stock”: Product quantity <= 0 & not available for order
By default it should be on No
These 3 options should also be displayed when the availability filter is disabled:
If the option is set to Yes, display in FO products with quantity > 0
Should be on Yes by default
If the option is set to Yes, display in FO products with quantity <= 0 but available for order
Should be on Yes by default
If the option is set to Yes, display in FO products with quantity <= 0 but not available for order
Should be on No by default
Hide filter values when no product is matching option
If the option is set to Yes, then filters are hided when no products are matching
By default it should be on Yes
Example, you have following filters
Material
Steel
Glass
Steel look
Polished
Brushed
Glass look
Nice
Ugly
Desired behavior
You select Steel
- Filter Glass look should get hidden.
You select Glass
- Filter Steel look should get hidden.
You select Nice
or Ugly
- Steel
option should get hidden.
You select Polished
or Brushed
- Glass
option should get hidden.
Sorting of brands in front-office
In front-office, if brands starts with a character, so sort by ascending alphabetical order.
In front-office, if brands starts with number, so sort by increasing number and ignore other characters after number.
If the merchant selected a filter number limit, so show the X filters with the most results and sort them by ascending alphabetical order or increasing number.
Example, in brackets the number of result:
Size
38 (50)
40 (20)
42 (100)
Size
10 cm (50)
30 cm (20)
40 cm (100)
Brands
Adidas (291)
Converses (625)
Nike (406)
Sorting of attributes values in front-office
In front-office, attributes values are sorted by position ascending like defined in the back-office
If the merchant selected a filter number limit, so show the X filters with the most results and sort them by ascending position.
Sorting of features values in front-office
In front-office, if features values starts with a character, so sort by ascending alphabetical order.
In front-office, if features values starts with number, so sort by increasing number and ignore other characters after number.
If the merchant selected a filter number limit, so show the X filters with the most results and sort them by ascending alphabetical order or increasing number.
Example, in brackets the number of result:
Size
1,6 (50)
10 (20)
11,2 (100)
Size
10 cm (50)
30 cm (20)
40 cm(100)
Sleeves
Short sleeves (291)
Long sleeves (406)
Without sleeves (625)
Display of attribute group in front-office
When you create an attribute in back-office, you have to fill the name and the public name. As a customer, in front-office I want to see the public name of the attribute group.