shopRounding.class.php on line 104

PHP 5.6.3 FastCGI
После переноса сайта из облака на VDS логи сервера просто заваливает PHP Notice:

[fcgid:warn] mod_fcgid: stderr: PHP Notice:  Undefined index: currency in /var/www/......./data/www/....../wa-apps/shop/lib/classes/shopRounding.class.php on line 104

Насколько вижу, ругается на:

        foreach ($products as &$p) {
            if (!isset($p['unconverted_currency'])) {
                $p['unconverted_currency'] = $p['currency'];
                if (!empty($curs[$frontend_currency]['rounding'])) {
                    $p['currency'] = $frontend_currency;
                }
                foreach ($rounding as $k) {
                    if (!isset($p[$k])) {
                        continue; // does not break on partly loaded data
                    }
                    $p['frontend_'.$k] = $p['unconverted_'.$k] = $p[$k];
                    if ($p[$k] > 0 && $p['unconverted_currency'] != $frontend_currency) {
                        $p['frontend_'.$k] = shop_currency($p[$k], $default_currency, $frontend_currency, false);
                        if (!empty($curs[$frontend_currency]['rounding'])) {
                            $p['frontend_'.$k] = shopRounding::roundCurrency($p['frontend_'.$k], $frontend_currency);
                            $p[$k] = shop_currency($p['frontend_'.$k], $frontend_currency, $default_currency, false);
                        }
                    }
                }
            }

            if (!empty($p['skus'])) {
                self::roundSkus($p['skus'], array($p));
            }
        }
        unset($p);


строка 104 это:

                $p['unconverted_currency'] = $p['currency'];


Можно, конечно, отключить и не записывать Notice, но подозреваю, что это не лучший вариант.
Куда смотреть?

1 ответ

  • 3

    Что-то у вас с валютами.

    • пересохраните настройки валют
    • пересохраните настройки поселений, заодно посмотрите какая валюта установлена
    • экспортируйте товары в CSV, посмотрите у всех ли товаров назначена валюта, а лучше конечно в базе данных прям посмотреть

    Скорее всего у вас последнее,......а именно - не указана валюта в товаре

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

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