Выборка данных о товаре
После того как запустили генерацию фида по ссылке и получили конфигурацию модуль делает обращение в метод exportGetProducts из файла catalog/controller/extension/feed/unixml.php через строку $products = $this->unixml->exportGetProducts($data);
В функции exportGetProducts (файл system/library/unixml.php) у нас заложена концепция блочной работы.
После обращения идет запрос в функции
- exportGetProductsSql - выборка товаров с базы, аргументы - массив конфигурации $data
- exportСustomXmlAfterSql - кастомный код после запроса в базу, аргументы - массив товаров $rows (те что с базы вышли) и массив конфигурации $data
- exportCheckNoImage - проверяем товар на фото, аргументы $rows, $data
- exportSetAttributes - добавляем атрибуты и формируем замены с атрибутов, аргументы $rows, $data
- exportSetDiscounts - добавляем оптовые цены где это нужно, аргументы $rows, $data
- exportSetImages - добавляем дополнительные фото, аргументы $rows, $data
- exportSetMultiplyOption - умножение на опции (комбинации как отдельные товары), аргументы $rows, $data
- exportSetArrayReplaces - добавление списка замен с массива товаров, аргументы $rows, $data
После модификации информации, через все функции выше, идет обход товаров с цикле с обращением в функцию exportChangeProduct где идет финальный проход по товарам.
После заходим в функцию exportСustomFinal и обрабатываем кастомный код после всех обработок
Завершаем генерацию в функции exportSetStat куда передаем информацию о статистике генерации.