Выделение текущей группы в меню из списка групп магазина

Модератор
#
Выделение текущей группы в меню из списка групп магазина
отдельный показ магазина, соответственно какие-либо данные о текущем элементе в этот блок вообще не передаются. Чтобы передать их, см. http://www.hostcms.ru/documentation/modules/core/controllers/

Передача контроллеру структуры идентификатора текущего товара и группы
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Shop_Controller_Show')
{
    $Shop_Controller_Show->addEntity(
       Core::factory('Core_Xml_Entity')
          ->name('shop_group_id')
          ->value(intval(Core_Page::instance()->object->group))
    )->addEntity(
       Core::factory('Core_Xml_Entity')
          ->name('shop_item_id')
          ->value(intval(Core_Page::instance()->object->item))
    );
}


Реализуем показ
if (Core::moduleIsActive('shop'))
{
   $Shop_Controller_Show = new Shop_Controller_Show(
      Core_Entity::factory('Shop', 123)
   );

   if (is_object(Core_Page::instance()->object)
   && get_class(Core_Page::instance()->object) == 'Shop_Controller_Show')
   {
      /*$Shop_Controller_Show->addEntity(
         Core::factory('Core_Xml_Entity')
             ->name('shop_group_id')
             ->value(intval(Core_Page::instance()->object->group))
         )->addEntity(
         Core::factory('Core_Xml_Entity')
             ->name('shop_item_id')
             ->value(intval(Core_Page::instance()->object->item))
         );*/

      $Shop_Controller_Show->group(intval(Core_Page::instance()->object->group));
   }

   $Shop_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl')->getByName('МенюИзГруппМагазина')
      )
      // Выбрать все группы
      ->groupsMode('all')
      // Не выбирать товары
      ->limit(0)
      ->show();
}


идентификатор группы будет в /shop/group (а если раскомментируете фрагмент выше, то будет также в /shop/shop_group_id, а идентификатор товара в /shop/shop_item_id)

Если меню строится на базе <li>, то будем добавлять класс current к текущей группы
<xsl:template match="shop_group">
   <li>
      <xsl:if test="/shop/group = @id">
         <xsl:attribute name="class">current</xsl:attribute>
      </xsl:if>
  
      ...
   </li>
</xsl:template>
Авторизация