Предлагаемые решения рассматриваемого вопроса, как правило, неоправданно сильно нагружают базу. Здесь предлагается принципиально иное решение - легкое и необременительное для сервера.
Предлагается способ вывода названия (основной) категории товара со ссылкой на категорию в следующих местах:
1. Список товаров бренда, 2. Список результатов поиска, 3. Три списка товаров на главной - новинки, рекомендуемые, акционные, 4. Список связанных на странице товара.
В меню категорий открывать только те категории, которые входят в текущий путь категорий. Иначе (если к странице прямо не относится ни одна категория) - только категории 1 уровня.
Создана возможность вставлять мегаменю в основной шаблон сайта. В горизонтальную линию выводятся названия категорий 1 уровня, при наведении на которые появляется список подкатегорий 2-го и 3-го уровней. Вид категорий 2-го и 3-го уровней устанавливается отдельными стилями. Сам список категорий 2-го и 3-го уровней выводится в несколько колонок. Число элементов в колонке можно устанавливать в шаблоне.
Категория товаров реализована как меню-аккордеон. У каждой категории добавлен маленький значок, при клике на который разворачивается/сворачивается дерево подкатегорий. Изначально показываются категории первого уровня.