Не экспортируется товар из подкатегории товара в CSV Исправлено

1

У меня 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 комментариев

  • +1
    Михаил Ушенин Михаил Ушенин Webasyst 13 декабря 2016 17:53 #

    Каким образом вы выбираете товары для экспорта? Выделяете все товары в подкатегории "Гирлянды" и справа нажимаете "CSV"?

    Сколько подкатегорий содержатся внутри "Гирлянды"?

    Сколько у вас витрин? Какую витрину вы выбираете на странице экспорта CSV-файла?

    Доступны ли все перечисленные вами категории и содержащиеся в них подкатегории на витрине, выбранной на странице экспорта?

    Все ли эти категории являются опубликованными (не скрытыми) и являются ли они статическими либо динамическими?

  • +1

    Всем привет, столкнулся с такой же ошибкой на сайте заказчика, после часа ковыряния в коде, нашел баг в экспорте 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);

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 24 апреля 2017 15:21 #

      Спасибо за предложенное решение!

      Дайте, пожалуйста, ответы на мои вопросы в соседнем комментарии. Покажите ситуацию на снимке экрана, если возможно. Это поможет нам лучше проанализировать проблему.

      • +3

        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 {


        Добавить комментарий

        Чтобы добавить комментарий, зарегистрируйтесь или войдите