Home > Add-Ons > Guided Navigation
Guided Navigation is a supplementary navigation that allows shoppers to filter (or reduce) a product set based on attributes the shopper is looking for. It is more flexible than standard hierarchical navigation because it allows the user to define different combinations of search attributes rather than traversing a category hierarchy. Guided Navigation always begins by showing a product set to the user. This product set can be defined by a top level category selection or a search the user performs.
Guided Navigation only makes sense in the context of product listing pages and should not be shown on pages other than product listing pages.
Guided Navigation is comprised of two basic structures to create a filter: Reductive Groups and Reductive Attributes. The image below contains an example of a reductive group ("Color") with multiple reductive attributes ("Blue", "Green", and "Red"). As a shopper browses they will be able to choose one reductive attribute per group.
When a Guided Navigation page is loaded, the navigation is built based upon the product set currently being viewed. This is a key concept when planning or modifying your Guided Navigation. Every Reductive Group with Reductive Attributes that contain matching products to the category selection or search entry will be shown. In other words, in the example above, if there were no "Red" products in our current product set, the "Red" Reductive Attribute would not be shown. If there were no products in any of the "Color" attributes, the "Color" Reductive Group would not be shown. This calculation is made every time a user selects another reductive attribute, so the navigation will narrow itself with each selection the user makes.
NOTE: There is a Setting called GuidedNavigation.ShowEmpties that can be enabled which would display ALL departments, overriding the behavior mentioned above. This setting is only valuable in limited circumstances so care should be taken when building your Guided Navigation and Department structure.
If you would like some Reductive Groups to only show on certain categories, you need to carefully map the products in each category such that each unwanted Reductive Group is empty for that category (a Reductive Group is considered empty when all of its Reductive Attributes are empty).
To use Guided Navigation on a category page, you'll need to choose the Guided Navigation Grid layout from the Page Layout drop down and Save your category:
If you want to use guided navigation on ALL of your category pages you can run the following SQL query in your admin console under Configuration > Advanced > Run SQL:
UPDATE Category SET XmlPackage = 'entity.guidednavigationgrid.xml.config'
*For help with this see the run sql section in the appendix
If you were to look at the category page now it would look something like this:
To set up the price ranges you want, simply use the Setting: GuidedNavigation.PriceRanges using a comma-delimited list of numeric values. The Guided Navigation ships out of the box with a typical set of price ranges. This filter is dynamically populated so there is no need to map any products to it.
The Price Range filter is enabled by default. It can be disabled using the Setting : GuidedNavigation.ShowPriceRanges
The Guided Navigation ships out of the box with the Manufacturer filter enabled by default. To disable it, simply use the Setting: GuidedNavigation.ShowManufacturers . This filter is dynamically populated from your Product - Manufacturer mappings so there is no need to map any products to it.
To set up your reductive groups and attributes you'll need to log in to the admin console and create a new department. We'll use "Color" for this example.
Go to Products > Product Groups . Next select the Departments button, then click the Create Department Button:
Name the department with the name of your Reductive Group, "Color" for example, and then click Save and Close.
Now we'll add a reductive attribute to our reductive group by clicking the +Add button next to the newly created reductive group.
Name your new reductive attribute "Red", for example and click Save and Close.
Repeat this process until you've got all the attributes you want for the group.
Now that we've got a Reductive Group and Reductive Attributes, we need to map some products to these Reductive Attributes. Edit an attribute (such as "Red" in our example) and assign relevant products to it using the Products tab, then clicking the Products for Department link. Be sure to check the "Show Unmapped Products" checkbox, enter any other filter values you want, and click Apply Filter. Check all products that apply (those mapped to categories that are using Guided Nav and relate to this attribute) and click Save. BE SURE to click Save on each grid page, as it only saves the currently viewed products.
Repeat this process until you've got all pertinent products mapped up to the reductive attributes.
NOTE: You do NOT need to map products to the Reductive Group departments, only to the Reductive Attributes.
Now your category page should look something like this:
Guided Navigation has a few different layout options, which you can change at any time.
This layout works well when your site already has a vertical navigation down one side on every page of the site. To turn this option on, change the Setting: GuidedNavigation.LayoutStyle to onecolumn. One drawback to this option however is that it can push a lot of your products down on the page.
This option can be seen in the examples above.
The default option is a two column layout. This is an excellent option if your site is full width. In other words, your site does not have a vertical navigation on every page of the site already. To turn this option on, change the Setting: GuidedNavigation.LayoutStyle to twocolumn.
If the one column and two column layouts do not work for you because you've got a two column template and you want to have a vertical navigation on all pages of your site, but you would like to replace the vertical navigation on other pages of the site then this is probably your best option. You can replace a given element in your template with the contents of the guided navigation by providing a CSS selector in the Setting: GuidedNavigation.NavigationElementSelector. An example selector could be #verticalNavWrapper. This would replace your vertical navigation with guided navigation. Try it out! If it doesn't look right just change the Setting back to blank. If the guided navigation doesn't show up, check to make sure your CSS ID is spelled correctly and includes the pound sign (#).
Default instances of Guided Navigation use Categories, Manufacturers, and Price Ranges as top level product groupings. These should be the most basic product groupings on your site. They are the starting point for a user's shopping experience.
Guided Navigation is further defined by Departments (these are called "sections" inside the code and database). Each top level Department defines a Reductive Group and each second level Department defines a Reductive Attribute. In the examples above, the department hierarchy shows a Reductive Group ("Color") and the Reductive Attributes under "Color" ("Blue", "Green", "Red"). These are the filters displayed by default.
Using hierarchy in your Guided Navigation can expand the filtering capabilities allowing for more detailed navigation results. With the setting GuidedNavigation.UseHierarchy set to Yes (True), you can add deeper levels of Reductive Groups and Attributes.
In this example, we have added another level of Reductive Groups and Attributes to the Reductive Attribute "Red", called "Red Shades". The "Red Shades" Group and its Attributes ("Dark Red", "Medium Red" and "Light Red") will only be displayed when the higher level Attribute "Red" has been selected. The "Red Shades" Attributes will display if they contain products also mapped to the "Red" Attribute. Again, the Group "Red Shades" is a Reductive Group and does not need any products mapped to it. Only the Reductive Attributes require products to be mapped, and those must be mapped up through the parent Attributes (in this example, "Red").
To access all of the different configuration options for Guided Navigation search the store Configuration - Settings for "GuidedNavigation" (or select it from the drop down in "Setting Group").
Warning! You should always back up your database before running sql statements. You can easily break your website with a typo in your sql command.