Не экспортируется товар из подкатегории товара в 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
      iluha iluha 6 февраля 2018 13:44 #

      Аналогичная проблема при импорте CSV файла

      https://yadi.sk/i/Sm13sqKb3S8tDZ на этом все зависает


      https://yadi.sk/i/6iYf6LBM3S8tLL логи

      Сайт был перенесен на другой домен и хостинг и начались проблемы..

    • +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 {


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

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