Здравствуйте!
Во-первых. В нашей БД около 200 тыс. товаров. В версии 4.6.3 CS-Cart Ultimate генерирование YML-файла работало нормально. В тегах ID брались из столбца category_id
таблиц cscart_categories
и cscart_category_descriptions
как есть.
После обновления до версии 4.9.2, а точнее при переходе на модуль “Экспорт в Яндекс.Маркет”, файл стал формироваться неправильно в части категорий.
Теперь ID категорий преобразовываются так, чтобы учитывать встроенные категории Яндекс.Маркет (берутся из файла /app/addons/yml_export/schemas/yml/categories.php
).
Вот это преобразование ID категорий идет с ошибками, нарушается порядок следования ID, отсчет категорий неоднократно сбрасывается к началу и даже появляются дубли.
При передаче такого YML-файла в Яндекс.Директ в качестве фида получаем ошибку “Err1204: XML Parser fatal error” в Директе.
Вот пример неправильных ID у категорий в YML: ym_8_generation.yml.categories.zip (42,2 КБ)
До id="2866"
идут встроенные категории Яндекс.Маркет, а ниже начинаются наши категории.
Пробовал закомментировать к выдаче встроенные категории Яндекс.Маркет, но ошибка сохраняется.
Версия PHP 7.0.22.
Во-вторых. При запуске генерации YML-файла большая часть редиректов теперь почему-то организована не через тег <meta http-equiv="refresh">
в теле HTML-ответа, а через Location
в заголовке (302 Found
). При их следовании один за другим в большом количестве браузер останавливает перенаправления и генерация также останавливается. Чтобы завершить генерацию, приходится повторять остановленное перенаправление.
Изменения условий генерации YML-файла не дает положительного результата.