Модуль YML экспорт не выгружает вариации

Подключил дополнительно модуль “retailCRM [Beta]”, пошел в Модули>YML экспорт>Прайс-лист генерировать выгрузку для retailCRM.

И вот в итоге выгружается только одна вариация из всех (в retailCRM создается только 1 Товарное предложение).
Работает рандомно. То выгружает одну вариацию и берет из нее цену в экпортируемый файл (редко), то (в большинстве случаев) выгружает вариацию с ценой 0 руб., которая относится к товару-контейнеру (Настраиваемому товару).

Лог, выдаваемый после генерации yml-файла, содержит много подобных строк:
[SKIP PRODUCT] 4379 (Товар Х …) - Категория скрыта
[SKIP PRODUCT] 4380 (Товар Y …) - Категория скрыта
[SKIP PRODUCT] 4381 (Товар Z …) - Категория скрыта
[SKIP PRODUCT] 4382 (Товар Z …) - Категория скрыта
[SKIP PRODUCT] 4383 (Товар Z …) - Категория скрыта

Выгружаются нормально только простые товары.
И то - есть исключение. Часть простых товаров без опций упорно не выгружаются.

CS-Cart 4.7.4

Нашел на форуме совет:

Через поиск отобрал все настраиваемые товары и у них параметру “YML Тип товарного предложения” назначил “Одежда (упрощенный)”.

Теперь немного по-другому.
Кликаю по ссылке генерации YML, как и прежде открывается новое окно. В нем сходу ошибка сервера “502 Bad gateway”. Перегружаю страницу, показывает одну надпись “Создание прайс-листа запущено”.
Если перейти на страницу прайс-листов YML, то там отображается подвисший процесс генерации:

На 48% стабильно подвисает, даже если остановить процесс генерации и запустить заново.

Тем не менее, благодаря совету выше, процент выгружаемых вариаций стал выше.

Просьба к разработчикам:
эта одна строка совета не содержится нигде - ни в документации, ни в настройках модуля. Он совсем не очевиден - нужно вывести его хотя бы в настройки.

Эта информация есть в статьях:

https://www.cs-cart.ru/docs/4.7.x/user_guide/addons/yml_export/product/
https://www.cs-cart.ru/docs/4.7.x/user_guide/addons/product_variations/

Что касается проблемы с выгрузкой, если в логах нет ошибок, то скорее всего она возникает из-за серверных таймаутов. Скрипт не успевает отработать за отведенное время и сервер останавливает его работу. Попробуйте увеличить их значения

И правда… Куда я смотрел. Спасибо

Лог не завершается. Не пишет время остановки.

Было 60 секунд, для теста сделали 600 секунд - не помогло.

Да и так-то, пока товары в типе “Упрощенный тип описания” скрипту хватает 7 секунд, что б перелопатить 700 товаров.
Дело не в таймаутах, и, видимо, это все же баг.

Напишите нам через Help desk, чтобы мы смогли изучить проблему в вашей установке.

Хорошо; написал.

Ух.
Спустя 2 недели вопрос решился; догадался сам.
Тупо версия PHP была стара. При 7.1.17 хоть и с ошибками, но файл начал генериться. Эти ошибки уже отдельная тема.

Наверное, тему можно перевести в раздел неподтвержденных багов.

т.е. у вас стояла версия PHP ниже 5.3.6?

Если нет, то причина скорее всего не в версии PHP (хотя и нужно признать что PHP7 работает гораздо быстрее), скорее при переходе на другую версию изменились настройки, которые влияли на выгрузку.

Да; но сейчас уже не вспомню какая, мельком глянул.
Сайт стоит на VPS настроенном очень давно, не один год работал как часы, и уже успела отпасть привычка думать о версиях.

При создании yml прайса доходит до 49% и пишет “Генерация была остановлена”. По времени процесс идет 3 минуты 15 секунд и обрывается. При этом в логах ничего нет. Используем связку nginx + php-fpm версия PHP 7.2.2. Версия cs cart 4.7.4. Подскажите какие настройки надо подправить чтобы прайс все-таки генерировался до конца.

У нас просто бешеное количество варнингов создает генерация yml-прайса.
По-прежнему выгружает не все товары. Просто забил на модуль.

Как альтернатива у AlexBranding есть универсальный модуль выгрузки товарных каталогов, можно детально настроить под себя любой формат. Минус один - не работает с вариациями; разработчик обещал в ближайшем релизе этот момент решить.

1 лайк

В моем случае причиной прирывания генирации yml-выгрузки оказалось проксирование firecloud. Отключил и все пошло как по маслу

Добрый день.
А если у меня детская обувь, то выгружаться в YML будут только комбинации опций, а если перевести в вариации, то выгрузить YML для Яндекс Маркета не получится?

Заранее спасибо

Получится.

Создайте пару товаров с вариациями в какой-нибудь левой директории, выгрузите эту директорию в YML; посмотрите, как получится.