We sell sinks, kitchen sinks and bathroom sinks. Shopping for sinks is not easy, there are many choices and its sometimes hard to know if a sink matches your needs.
Guided navigation is the perfect answer for this. By specifying exactly what you need, we display to you only the matching results. This is how we do it on our bathroom vanity finder and air tubs & whirlpool finder.
However, the results returned by the finder are only as good as the data entered, and data entry can be a big job. Updating close to 900 kitchen sinks with the navigation data is a big job. Enter my big idea.
Our static navigation (thats what I call my previous navigation) was hierarchal, and forced you to choose category after category before showing you products. For kitchen sinks, you would first choose the material, e.g. Stainless Steel Sinks, then you'd choose a brand, e.g. Elkay, then you'd choose the mounting, e.g. Undermount, then you'd choose how many bowls you want, e.g. Single Bowl, and then you'd finally get a list of sinks to choose from.
Certainly a pain in the neck. But if you look closely, those categories give you alot of information about the product. My idea was to collapse all the categories into a set of combinable categories that act as a pseudo guided navigation. You can choose to view all Single Bowl Sinks, and you'll see all sinks in a category "Single Bowl", regardless of brand or any other sub or parent category that may exist. Or you can view Stainless Steel Single Bowl Sinks, and then change your view to Stainless Steel Double Bowl Sinks. And you're always seeing products that match your choices.
In a way, the categories became tags, giving information about the sinks, not forcing you to navigate with them.
How do I do this? Using my two favorite MySQL functions, GROUP_CONCAT and FIND_IN_SET. GROUP_CONCAT allows me to group the categories by name, and get a list of the CategoryID's for all the matching categories. For example, Double Bowl. There are say 15 categories named "Double Bowl" (remember there is one for each manufacturer,) GROUP_CONCAT will give me a comma delimited list of all of them.
FIND_IN_SET I use to pull the products in categories matching the ones currently selected. For example, say you want to see all Apron sinks. There are no products directly in the category Apron sinks, they are all in sub-categories (about 3 levels down.) Using FIND_IN_SET to match the selected category or categories to the category tree saved in each category, I can get all products that match.
Item of the Day: Hatbox 12 - Vessel Sink by Waterdecor