Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине

#
Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
Уважаемые форумчане.
Столкнулся с такой проблемой.
Если в карточке товара добавить сопутствующие товары а для сопутствующих товаров добавить модификации то они не выводятся на сайте. Их даже в XML нет. задал вопрос поддержке.

Вот что они мне ответили.
Данное поведение явно задано в Shop_Item_Model т.к. может приводить к зацикливанию объектов.
Вы можете включить, использовав событие shop_item.onBeforeAddAssociatedEntity

В модели добавляется оно так:
------------------------------------------------------------------------
$oShop_Item_Associated
->showXmlComments($this->_showXmlComments)
->showXmlAssociatedItems(FALSE)
->showXmlModifications(FALSE)
->showXmlSpecialprices($this->_showXmlSpecialprices)
->showXmlTags($this->_showXmlTags)
->showXmlWarehousesItems($this->_showXmlWarehousesItems)
->showXmlSiteuser($this->_showXmlSiteuser)
->showXmlProperties($this->_showXmlProperties);

Core_Event::notify($this->_modelName . '.onBeforeAddAssociatedEntity', $this, array(
$oShop_Item_Associated
));
------------------------------------------------------------------------

сам объект в обработчике события будет в $args[0]

Но что делать с этим дальше я не понял..
Помогите разобраться
dankom
Модератор
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
Что такое события и с чем их едят см. http://www.hostcms.ru/documentation/modules/core/events/
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
Я уже вдоль и поперек пролистал данную главу но не понял что делать дальше.
Если подскажите буду очень благодарен
dankom
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
Ни кто не поможет?
dankom
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
Для того чтобы Вам помогли опишите рабочий кейс применения данной функции.
Зачем раскрывать все модификации в сопутствующих товарах?
Разработчики это отключили т.к. данная ситуация может привести к "падению" сервера, отслеживать "зацикливание" достаточно сложная задача
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
dankom,   как в итоге решили задачу?
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
Вдруг кому пригодится, оставлю это тут:
Нужно в коде указанном выше, в файле modules/shop/item/model.php
заменить
->showXmlModifications(FALSE) на ->showXmlModifications(TRUE).
Модератор
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
Wizard522,
не нужно давать пользователям вредные советы!
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
дайте пожалуйста Полезный совет как включить в xml модификации сопутствующих товаров!
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
Модератор
#
Re: Вывод модификаций для сопутствующих товаров на уровне карточки товара в интернет-магазине
В первом сообщении фрагмент код, дублирую:
                  $oShop_Item_Associated
                     ->showXmlComments($this->_showXmlComments)
                     ->showXmlAssociatedItems(FALSE)
                     ->showXmlModifications(FALSE)
                     ->showXmlSpecialprices($this->_showXmlSpecialprices)
                     ->showXmlTags($this->_showXmlTags)
                     ->showXmlWarehousesItems($this->_showXmlWarehousesItems)
                     ->showXmlSiteuser($this->_showXmlSiteuser)
                     ->showXmlProperties($this->_showXmlProperties);

                  Core_Event::notify($this->_modelName . '.onBeforeAddAssociatedEntity', $this, array($oShop_Item_Associated));


модификации у сопутствующих явно выключены, чтобы включить используйте событие onBeforeAddAssociatedEntity, в $args[0] будет товар, которому просто нужно указать ->showXmlModifications(TRUE)
Авторизация