Фильтр по меткам внутри группы ИМ

#
Фильтр по меткам внутри группы ИМ
Столкнулся с задачей реализовать фильтрацию товаров по меткам внутри текущей группы.

Для этого должно выполнятся три условия.

1) Заходим в группу - видим там облако тегов, которое соответствует только тем товарам, которые  принадлежат данной группе.

2) При фильтре по одной из этих меток - остаются только те товары, которые принадлежат данной группе.

3) Хлебные крошки должны соответствовать той группе, в которой мы находились перед фильтрацией по метке. URL - желательно тоже, но это в идеале.

В результате раскопок по форуму нашел решение только части № 1 вопроса: в этой теме

Вывожу облако тегов таким образом:
<?php
if (class_exists('shop'))
{
   $shop = & singleton('shop');

   $property = array();
  
   if (isset($GLOBALS['shop_item_path']['group']) && $GLOBALS['shop_item_path']['group'])
   {
      $property['In'] = array(0);
      
      $shop_current_group_id = intval($GLOBALS['shop_item_path']['group']);

      $aSubGroup = $shop->GetGroupsTree($shop_current_group_id, to_int($GLOBALS['LA']['shop_id']));

      // Записываем выбранные подгруппы в массив
      foreach($aSubGroup as $group_id => $value)
      {
         $aItemsInGroup = $shop->GetAllItems(to_int($GLOBALS['LA']['shop_id']), $group_id);
         if (is_array($aItemsInGroup) && count($aItemsInGroup) > 0)
         {
            foreach ($aItemsInGroup as $aItemRow)
            {
               $property['In'][] = $aItemRow['shop_items_catalog_item_id'];
            }
         }
      }
   }
   /* Отображаем тэги */
   $shop->ShowTagsCloud(to_int($GLOBALS['LA']['shop_id']), 'ОблакоТэговМагазин', $property);
}
?>


Но при фильтрации по метке выводятся вообще все товары, которые соответствуют данной метке.

P.S: Предвижу совет решить вопрос дополнительными свойствами в виде списков. Уже думал об этом, но в данном конкретном случае так не получится.
Авторизация