Ошибка Uncaught exception waException: product not found (0) в error.log

Периодически в приложение Логи error.log каждый день появляется такая ошибка:

Uncaught exception waException:
product not found (0)
#0 /home/ih194400/public_html/wa-system/controller/waController.class.php(21): shopFrontendCartAddController->execute()
#1 /home/ih194400/public_html/wa-system/controller/waJsonController.class.php(28): waController->run(NULL)
#2 /home/ih194400/public_html/wa-system/controller/waFrontController.class.php(139): waJsonController->run()
#3 /home/ih194400/public_html/wa-system/controller/waFrontController.class.php(58): waFrontController->execute('', 'frontendCart', 'add')
#4 /home/ih194400/public_html/wa-system/waSystem.class.php(606): waFrontController->dispatch()
#5 /home/ih194400/public_html/index.php(7): waSystem->dispatch()
#6 {main}

В чём может быть проблема?

3 ответа

  • 1

    С вероятностью 99% у вас ошибка в артикулах сформированных через "выбор параметров"(назначены несуществующие характеристики или ещё что-то, бывает при различных манипуляциях и "кривом" импорте через csv). Найдите что это за товар(через access.log - запросы с 500-ой ошибкой) и попробуйте добавить его в корзину - получите эту самую ошибку.

    • +1
      www.molokonadom.ru www.molokonadom.ru 22 ноября 2016 11:49 #

      Дело в том, что в логах ссылка не на товара, а на категорию:

      POST /cart/add/ HTTP/1.1" 500 1702 "http://www.site.ru/category/category1/" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"

      В этой категории (/category/category1/) прошёлся по всем товарам, добавляя их в корзину, но эта ошибка не появилась в логах.

      • +1

        Не могу ничего больше сказать - ошибка однозначно происходит при добавлении товара в корзину.
        Вы по времени появления 500-ю ошибку и ошибку product not found сравнивали? Одна и та же ошибка?
        Еще включите в инсталлере "режим отладки". Может что-то еще увидите.
        В крайнем случае надо в контроллере wa-apps/shop/lib/actions/frontend/shopFrontendCartAdd.controller.php добавить логирование

        if ($product && $sku) {
                    // check quantity
            .......skip............
        } else {
        waLog::log(var_export($product,true),'myerror.log');
        waLog::log(var_export($sku,true),'myerror.log');
        waLog::log(var_export($_SERVER,true),'myerror.log');
                    throw new waException('product not found');
                }

        типа такого. И смотреть wa-log/myerror.log.

        Исключение кидается при услови отсутствия какого-то из массивов $product и $sku.
        Так что, как я и говорил 90% - косяк с артикулами -)

Добавить ответ

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