Добрый день!
Вопрос - головоломка, для меня точно) поэтому после недели поиска решения решил написать тут.
Есть Битрикс, каталог товаров. Каталог каждый день выгружается от поставщика и поменять структуру мы не можем.
Есть товары которые похожи сами по себе и их нужно объединить в мини секцию, либо показать только один товар, это другой вопрос. Идеально засунуть их в ТП но тоже не позволяет выгрузка так сделать. Вижу только вариант переделать массив.
Т.е. есть страница со списком элементов, в параметрах задано показать 8 элементов:
Вроде выводиться, вроде ок, но вместо заданных в настройках 8 элементов, показываются 3 (верно, элементов по факту 8 но перегупировали и видим только мини секции).
Казалось бы можно задать показать не 8 а 20 элементов на странице, что бы получить условно теже 8 секций, но при постраничной навигации группировка проходит по разному, разное количество элементов градируется и не понять сколько выводить
Где нужно пересортировать массив что бы получить уже заданное количество?
Пробовал запихнуть пересортировку в result_modifer компонента catalog_section, но это не дало результата
kikher, ну тут два варианта:
1) просить разработчиков модуля доработать его под ваши задачи либо сделать на основе этого модуля свой модуль
2) написать свой скрипт обработчик загрузки со своей логикой, включая формирование вариативных товаров с торговыми предложениями.
Выборка происходит в component.php или class.php
Там же формируются страницы постраничной навигации.
Т.е. все дальнейшие модификации массива $arResult будут приводить к проблемам с постраничной навигацией.
У вас 2 пути
1) Написать свой компонент и сделать все группировки в component.php до формирования выборки
2) Сделать группировку ранее.
На событиях добавления элемента в инфоблок или же написать агент, который будет обрабатывать элементы и группировать их.
Поддержу вариант написания собственного компонента. Мой опыт показывает, что это единственный верный вариант работы с битриксом. Чем разбираться в той невероятной портянке коде, который находится в стандартных компонентах битрикса, можно намного проще и быстрее писать небольшие компоненты конкретно под свои нужды.