Помощь Undefined index. Передать значение order_id.

r_vyacheslav

Гуру форума
Регистрация
18 Авг 2015
Сообщения
174
Реакции
67
Привет всем, помогите разобраться с одной ошибкой... В логе иногда наблюдаю:

2016-10-26 14:15:25 - PHP Notice: Undefined index: last_order_id in /home/.../www/vqmod/vqcache/vq2 system_modification_catalog_controller_common_header.php on line 226


Собственно сама конструкция условия выглядит в common/header.php таким образом:
PHP:
if ($url_path == 'checkout/success') {
                    // Complete Checkout
                        $query = $this->db->query("SELECT product_id FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$_SESSION['last_order_id'] . "'");
                        $product_count = $query->num_rows;
                        foreach($query->rows as $product) {
                            $cart_products .= '\'' . $product['product_id'] . '\',';
                        }

Второй раз она появляться в файле catalog/model/checkout/order.php вот в таком виде:
PHP:
$_SESSION['last_order_id'] = $order_id;

Собственно вопрос, как правильно передать last_order_id или же можно передавать просто order_id?
Или может проблема в конфликте vQmod с ocmod?
 
Этот фрагмент кода добавлен модификатором одного из модулей.
Скорее всего есть ошибки модификатора, не все вставки кода выполнены - проверьте лог vQmod.
Ну и как вариант еще - не корректная установка этого модуля.
 
Этот фрагмент кода добавлен модификатором одного из модулей.
Скорее всего есть ошибки модификатора, не все вставки кода выполнены - проверьте лог vQmod.
Ну и как вариант еще - не корректная установка этого модуля.

Да, именно так и есть, это добавленные строки кода, само интересное что логи vqmod чисты.... Подсказали как решить данную проблему вот таким образом:

Нужно добавить проверку типа if (isset... в catalog/controller/checkout/success.php, где в конечном итоге была создана вот такая проверочная конструкция:

PHP:
if (isset($this->session->data['order_id'])) {
$this->session->data['last_order_id'] = $this->session->data['order_id'];
} else {
$this->session->data['last_order_id'] = null;
}

При таком раскладе ошибок не наблюдается.
 
Назад
Сверху