У меня 2 категории товара на сайте
в категории Освещение есть подкатегория "Гирлянды" (в которой есть тоже подкатегории) эта подкатегория не импортируется в CSV
экспорт завтсает на 0% процентов
и выдает сообщение в лог файле wa-log / shop / csvproducts.log
2016-12-06 15:52:02 94.25.187.92
export: Invalid category count. Expected 8 but get 7
#0 /var/www/html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(1750): shopCsvProductrunController->stepExportCategory(Array, Array, Array)
#1 /var/www/html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(769): shopCsvProductrunController->stepExport()
#2 /var/www/html/wa-system/controller/waLongActionController.class.php(308): shopCsvProductrunController->step()
#3 /var/www/html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(730): waLongActionController->execute()
#4 /var/www/html/wa-system/controller/waController.class.php(21): shopCsvProductrunController->execute()
#5 /var/www/html/wa-system/controller/waFrontController.class.php(227): waController->run(NULL)
#6 /var/www/html/wa-system/controller/waFrontController.class.php(162): waFrontController->runController(Object(shopCsvProductrunController), NULL)
#7 /var/www/html/wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'csv', 'productrun')
#8 /var/www/html/wa-system/waSystem.class.php(537): waFrontController->dispatch()
#9 /var/www/html/wa-system/waSystem.class.php(476): waSystem->dispatchBackend('MadeForProfit/s...')
#10 /var/www/html/index.php(7): waSystem->dispatch()
#11 {main}
2016-12-06 15:52:08 94.25.187.92
export: Invalid category count. Expected 8 but get 7
#0 /var/www/html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(1750): shopCsvProductrunController->stepExportCategory(Array, Array, Array)
#1 /var/www/html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(769): shopCsvProductrunController->stepExport()
#2 /var/www/html/wa-system/controller/waLongActionController.class.php(308): shopCsvProductrunController->step()
#3 /var/www/html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(730): waLongActionController->execute()
#4 /var/www/html/wa-system/controller/waController.class.php(21): shopCsvProductrunController->execute()
#5 /var/www/html/wa-system/controller/waFrontController.class.php(227): waController->run(NULL)
#6 /var/www/html/wa-system/controller/waFrontController.class.php(162): waFrontController->runController(Object(shopCsvProductrunController), NULL)
#7 /var/www/html/wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'csv', 'productrun')
#8 /var/www/html/wa-system/waSystem.class.php(537): waFrontController->dispatch()
#9 /var/www/html/wa-system/waSystem.class.php(476): waSystem->dispatchBackend('MadeForProfit/s...')
#10 /var/www/html/index.php(7): waSystem->dispatch()
#11 {main}
Как устранить этот баг ?
6 комментариев
Каким образом вы выбираете товары для экспорта? Выделяете все товары в подкатегории "Гирлянды" и справа нажимаете "CSV"?
Сколько подкатегорий содержатся внутри "Гирлянды"?
Сколько у вас витрин? Какую витрину вы выбираете на странице экспорта CSV-файла?
Доступны ли все перечисленные вами категории и содержащиеся в них подкатегории на витрине, выбранной на странице экспорта?
Все ли эти категории являются опубликованными (не скрытыми) и являются ли они статическими либо динамическими?
Аналогичная проблема при импорте CSV файла
https://yadi.sk/i/Sm13sqKb3S8tDZ на этом все зависает
https://yadi.sk/i/6iYf6LBM3S8tLL логи
Сайт был перенесен на другой домен и хостинг и начались проблемы..
Логи нужно смотреть немного не так.
Всем привет, столкнулся с такой же ошибкой на сайте заказчика, после часа ковыряния в коде, нашел баг в экспорте CSV:
В файле
wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php
Найти строчку
$categories = array_reverse($model->getTree($category_id));
и заменить на
$categories = array_reverse($model->getTree($category_id), true);
Спасибо за предложенное решение!
Дайте, пожалуйста, ответы на мои вопросы в соседнем комментарии. Покажите ситуацию на снимке экрана, если возможно. Это поможет нам лучше проанализировать проблему.
array_reverse рушит ключи, если не передать второй параметр true, а эти ключи нужны, там хранятся id категорий, собственной поэтому и ошибка при экспорте.
Ошибка появляется на категориях, у которых включен include_sub_categories, и у которых ID больше, чем общее число категорий.
Неужели я должен объяснять вам же ваш код ? Посмотрите внимательно исходник на этой строке, ошибка до сих пор не исправлена
if ($category) {
if (!empty($category['include_sub_categories']) || $this->params['include_sub_categories']) {
$categories = array_reverse($model->getTree($category_id));
} else {