В информационной системе через доп.свойство "Группа интернет-магазина", вывести все товары и их модификации находящиеся в этой группе.

#
В информационной системе через доп.свойство "Группа интернет-магазина", вывести все товары и их модификации находящиеся в этой группе.
Здравствуйте, суть такая. Будет создаваться новость (Инфоэлемент) о новой коллекции товаров. Внутри этой новости будут находится карточки товаров из группы которую указали в доп свойстве. Хочу реализовать это через доп.свойоство "Группа интернет-магазина". Нашел следующий код, но как ему сказать что бы он вывел товары и модификации из этой группы я не понимаю.

if ($oProperty->type == 14 && Core::moduleIsActive('shop'))
      {
         $this->addForbiddenTag('value');

         if ($this->value != 0)
         {
            $oShop_Group = $this->Shop_Group;

            // Shop_Group exists
            if ($oShop_Group->id)
            {
               // Allow all kinds of properties except shop
               $oShop_Group_Property_List = Core_Entity::factory('Shop_Group_Property_List', $oShop_Group->shop_id);

               $aTmp = array();

               $aGroupProperties = $oShop_Group_Property_List->Properties->findAll();
               foreach ($aGroupProperties as $oGroupProperty)
               {
                  // Зацикленность через Св-во типа ИЭ/Товар, у которого св-во ИЭ/Товар
                  ($oGroupProperty->type != 13 && $oGroupProperty->type != 14
                     || self::$aConfig['recursive_properties'] && $oGroupProperty->shop_id != $oProperty->shop_id
                  ) && $aTmp[] = $oGroupProperty->id;
               }

               $oShop_Group->shortcut_id && $oShop_Group = $oShop_Group->Shop_Group;

               if ($oShop_Group->id)
               {
                  $oNew_Shop_Group = clone $oShop_Group;

                  $oNew_Shop_Group
                     ->id($oShop_Group->id)
                     ->clearEntities()
                     ->showXmlProperties(count($aTmp) ? $aTmp : FALSE);

                  Core_Event::notify($this->_modelName . '.onBeforeAddShopItem', $this, array($oShop_Group));

                  $oLastReturn = Core_Event::getLastReturn();

                  if (!is_null($oLastReturn))
                  {
                     $oNew_Shop_Group = $oLastReturn;
                  }

                  $this->addEntity($oNew_Shop_Group);
               }
            }
         }
      }
www.btb.su
Модератор
#
Re: В информационной системе через доп.свойство "Группа интернет-магазина", вывести все товары и их модификации находящиеся в этой группе.
btb.su,
не понимаю связь приведенного кода с поставленной задачей. Почему вы не используете шорткоды?
#
Re: В информационной системе через доп.свойство "Группа интернет-магазина", вывести все товары и их модификации находящиеся в этой группе.
То есть лучше будет просто указать id группы в строковом доп.свойстве и в xsl через шорт код вывести товары ?
www.btb.su
#
Re: В информационной системе через доп.свойство "Группа интернет-магазина", вывести все товары и их модификации находящиеся в этой группе.
Либо через шорткод либо через хук. В предоставленном фрагменте кода опечатка вместо onBeforeAddShopItem должно быть onBeforeAddShopGroup. В хуке товары можно получить так $aShop_Items = $args[0]->Shop_Items->findAll(FALSE);
«Не выходи из комнаты, не совершай ошибку…»
Модератор
#
Re: В информационной системе через доп.свойство "Группа интернет-магазина", вывести все товары и их модификации находящиеся в этой группе.
btb.su,
id вы указываете в параметрах шорткода, когда вставляете его в нужное место текста в визуальном редакторе, в XSL-шаблон шорткод не вставляется, посмотрите примеры.
#
Re: В информационной системе через доп.свойство "Группа интернет-магазина", вывести все товары и их модификации находящиеся в этой группе.
Всем спасибо, сделал шорт кодом через доп.свойство текстовое поле.
www.btb.su
Авторизация