Всем привет! Есть словарь таксономии с иерархией (категории и подкатегории). В категории могут быть подкатегории, а могут и не быть. Есть материал - товар, с которым этот словарь связан. Товары могут находиться либо в категории, либо в подкатегории. Есть товары, которые находятся в категории и не принадлежат ни к одной ее подкатегории. Схематично ыглядит это примерно так:
Категория1
-подкатегория1.1.
-подкатегория1.2.
Категория2
Категория3
-подкатегория3.1
-подкатегория3.2
-подкатегория3.3
Категория4
Товар А: категория 1
Товар Б: категория 1, подкатегория 1.2
Товар В: категория 1, подкатегория 1.2
Товар Г: категория2
Товар Д: категория3, подкатегория 1.3
и т.д.
Так вот мне нужно в таком каталоге товаров (view) сделать фильтр только по родительским терминам. При этом, чтобы в этом фильтре предлагались только те категории, в которых есть какие-то товары на каком-нибудь уровне. То есть, в моем примере фильтр должен предложить на выбор только категории 1,2 и 3. Как решается такая задача?