Здравствуйте.
Возникла необходимость убрать дублирование товаров(ярлыков), которые находятся в дочерних разделах.
Нашел формирование каждого товара в этом файле /modules/shop/item/model.php, там скорей всего по событию "onBeforeRedeclaredGetXml" можно было бы изменить.
Где формируется весь список товаров или вызывается метод getXml() класса Shop_Item_Model не нашел.
Можно ли это реализовать с помощью события? В каком файле происходит генерация списка товаров? Можно как то узнать, что товар является ярлыком(как?)?
Узнать является ли товар ярлыком можно по полю shortcut_id, значением поле будет id родительского товара.
Переместить все ярлыки в корзину вы можете с помощью запроса:
UPDATE `shop_items` SET `deleted` = 1 WHERE `shortcut_id` > 0
Упустил важную деталь, нужно убрать дублирование в публичной части, вот пример: http://acvideo.ru/shop/camera/page-2/?on_page=50 на странице несколько товаров "Камера видеонаблюдения AVC-9101", все ярлыки кроме одного. Тут мне и нужно убрать повторение.