mralex Опубліковано: 22 жовтня 2021 Share Опубліковано: 22 жовтня 2021 Ребята в журнале ошибок opencart сборка oc store 3.0.2.0 наблюдается вот такая ошибка: PHP Notice: Undefined variable: order_data in /home/admin/web/site/storage/modification/catalog/controller/mail/order.php on line 327 Зашел в файл и не понимаю в чем проблема. Ругается на эту строку: $data['quick'] = ($order_data['shipping_method'] = '') ? true : false; Использую модуль Simple. Бывает что не все заказы оформляются. Надіслати Поділитися на інших сайтах More sharing options...
nogocuHoBuk Опубліковано: 22 жовтня 2021 Share Опубліковано: 22 жовтня 2021 Ну, так то это нотис, а не ошибка Предупреждение. И гласит оно примерно следующее: В массиве order_data отсутствует указанный вами ключ (речь о shipping_method) Тут ещё такой момент - это Вы неправильно скопировали, или в коде действительно такое сравнение? $data['quick'] = ($order_data['shipping_method'] = '') ? true : false; Ибо по логике там должно быть $data['quick'] = ($order_data['shipping_method'] == '') ? true : false; Т.е. если данных заказа указан метод доставки - это обычный заказ, если не указа - быстрый заказ. А сам нотис можно убрать в коде оформления быстрого заказа прописав дефолтный shipping_method. Либо слегка изменив код на такой: $data['quick'] = false; if (isset($order_data['shipping_method'])){ if ($order_data['shipping_method'] == '') $data['quick'] = true; } else { $data['quick'] = true; } Т.е. проверяем существование $order_data['shipping_method'] и если существует - дальнейшая проверка. И тогда исключение "PHP Notice: Undefined variable" не выскочит... Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 (змінено) 23 часа назад, mralex сказал: Undefined variable: order_data 23 часа назад, mralex сказал: Бывает что не все заказы оформляются. Массив не передается, поэтому идет сообщение. 23 часа назад, nogocuHoBuk сказал: В массиве order_data отсутствует указанный вами ключ (речь о shipping_method) Нет, иначе бы была другая ошибка, типа offset no exists. Поставь в самом начале функции order_data=array(); и тогда получишь ошибку ключа. Ну и нужно разбираться, почему информация о заказе не пишется (не всегда - как в твоем случае) в БД. В опенкарт почему-то не сделали проверку занесения/обновления/удаления записей в таблицы. А это не так сложно сделать if(!$result=$this->db->query(тут запрос INSERT или UPDATE или DELETE)) return false; return true; //то есть, если происходит ошибка выполнения этих директив (false) / или все нормально прошло (true) Ну еще посмотри серверный лог (там должны быть ошибки при работе с БД). Змінено 23 жовтня 2021 користувачем esculapra Надіслати Поділитися на інших сайтах More sharing options... nogocuHoBuk Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 4 минуты назад, esculapra сказал: Нет, иначе бы была другая ошибка, типа offset no exists Верно. Тут мой завтык... Но ещё раз обращу внимание на саму строку с ошибкой: 23 часа назад, nogocuHoBuk сказал: $data['quick'] = ($order_data['shipping_method'] = '') ? true : false; Эта строка некорректная Должно быть == Не думаю, что в Simple на проде такой косяк. Либо сторонний модуль либо "правленый" Simple. Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 1 минуту назад, nogocuHoBuk сказал: Эта строка некорректная Должно быть == Так это по-любому, я бы еще так изменил $data['quick'] = ( if (isset ($order_data) && $order_data['shipping_method'] == '') ? true : false; // тут точно нотис не появится - он появится дальше, но уже можно будет куда копать. Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 27 минут назад, nogocuHoBuk сказал: Либо сторонний модуль либо "правленый" Simple. Вполне вероятно, ибо ТС не обратился к разработчику. Надіслати Поділитися на інших сайтах More sharing options... iKapranova Опубліковано: 25 жовтня 2021 Share Опубліковано: 25 жовтня 2021 Очень нужна помощь. Во-первых слетел simle, хотя модуль установлен, но на сайте не отображается. Во-вторых в журнале ошибок вот такое прописано PHP Notice: Undefined index: code in /var/www/u1457571/data/www/nailberryshop.ru/admin/model/design/layout.php on line 38 захожу и ничего не понимаю $this->db->query("INSERT INTO " . DB_PREFIX . "layout_module SET layout_id = '" . (int)$layout_id . "', code = '" . $this->db->escape($layout_module['code']) . "', position = '" . $this->db->escape($layout_module['position']) . "', sort_order = '" . (int)$layout_module['sort_order'] . "'"); Что исправить? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Пісочниця Ошибка PHP Notice: Undefined variable Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 (змінено) 23 часа назад, mralex сказал: Undefined variable: order_data 23 часа назад, mralex сказал: Бывает что не все заказы оформляются. Массив не передается, поэтому идет сообщение. 23 часа назад, nogocuHoBuk сказал: В массиве order_data отсутствует указанный вами ключ (речь о shipping_method) Нет, иначе бы была другая ошибка, типа offset no exists. Поставь в самом начале функции order_data=array(); и тогда получишь ошибку ключа. Ну и нужно разбираться, почему информация о заказе не пишется (не всегда - как в твоем случае) в БД. В опенкарт почему-то не сделали проверку занесения/обновления/удаления записей в таблицы. А это не так сложно сделать if(!$result=$this->db->query(тут запрос INSERT или UPDATE или DELETE)) return false; return true; //то есть, если происходит ошибка выполнения этих директив (false) / или все нормально прошло (true) Ну еще посмотри серверный лог (там должны быть ошибки при работе с БД). Змінено 23 жовтня 2021 користувачем esculapra Надіслати Поділитися на інших сайтах More sharing options... nogocuHoBuk Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 4 минуты назад, esculapra сказал: Нет, иначе бы была другая ошибка, типа offset no exists Верно. Тут мой завтык... Но ещё раз обращу внимание на саму строку с ошибкой: 23 часа назад, nogocuHoBuk сказал: $data['quick'] = ($order_data['shipping_method'] = '') ? true : false; Эта строка некорректная Должно быть == Не думаю, что в Simple на проде такой косяк. Либо сторонний модуль либо "правленый" Simple. Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 1 минуту назад, nogocuHoBuk сказал: Эта строка некорректная Должно быть == Так это по-любому, я бы еще так изменил $data['quick'] = ( if (isset ($order_data) && $order_data['shipping_method'] == '') ? true : false; // тут точно нотис не появится - он появится дальше, но уже можно будет куда копать. Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 27 минут назад, nogocuHoBuk сказал: Либо сторонний модуль либо "правленый" Simple. Вполне вероятно, ибо ТС не обратился к разработчику. Надіслати Поділитися на інших сайтах More sharing options... iKapranova Опубліковано: 25 жовтня 2021 Share Опубліковано: 25 жовтня 2021 Очень нужна помощь. Во-первых слетел simle, хотя модуль установлен, но на сайте не отображается. Во-вторых в журнале ошибок вот такое прописано PHP Notice: Undefined index: code in /var/www/u1457571/data/www/nailberryshop.ru/admin/model/design/layout.php on line 38 захожу и ничего не понимаю $this->db->query("INSERT INTO " . DB_PREFIX . "layout_module SET layout_id = '" . (int)$layout_id . "', code = '" . $this->db->escape($layout_module['code']) . "', position = '" . $this->db->escape($layout_module['position']) . "', sort_order = '" . (int)$layout_module['sort_order'] . "'"); Что исправить? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Пісочниця Ошибка PHP Notice: Undefined variable Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
nogocuHoBuk Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 4 минуты назад, esculapra сказал: Нет, иначе бы была другая ошибка, типа offset no exists Верно. Тут мой завтык... Но ещё раз обращу внимание на саму строку с ошибкой: 23 часа назад, nogocuHoBuk сказал: $data['quick'] = ($order_data['shipping_method'] = '') ? true : false; Эта строка некорректная Должно быть == Не думаю, что в Simple на проде такой косяк. Либо сторонний модуль либо "правленый" Simple. Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 1 минуту назад, nogocuHoBuk сказал: Эта строка некорректная Должно быть == Так это по-любому, я бы еще так изменил $data['quick'] = ( if (isset ($order_data) && $order_data['shipping_method'] == '') ? true : false; // тут точно нотис не появится - он появится дальше, но уже можно будет куда копать. Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 27 минут назад, nogocuHoBuk сказал: Либо сторонний модуль либо "правленый" Simple. Вполне вероятно, ибо ТС не обратился к разработчику. Надіслати Поділитися на інших сайтах More sharing options... iKapranova Опубліковано: 25 жовтня 2021 Share Опубліковано: 25 жовтня 2021 Очень нужна помощь. Во-первых слетел simle, хотя модуль установлен, но на сайте не отображается. Во-вторых в журнале ошибок вот такое прописано PHP Notice: Undefined index: code in /var/www/u1457571/data/www/nailberryshop.ru/admin/model/design/layout.php on line 38 захожу и ничего не понимаю $this->db->query("INSERT INTO " . DB_PREFIX . "layout_module SET layout_id = '" . (int)$layout_id . "', code = '" . $this->db->escape($layout_module['code']) . "', position = '" . $this->db->escape($layout_module['position']) . "', sort_order = '" . (int)$layout_module['sort_order'] . "'"); Что исправить? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Пісочниця Ошибка PHP Notice: Undefined variable
esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 1 минуту назад, nogocuHoBuk сказал: Эта строка некорректная Должно быть == Так это по-любому, я бы еще так изменил $data['quick'] = ( if (isset ($order_data) && $order_data['shipping_method'] == '') ? true : false; // тут точно нотис не появится - он появится дальше, но уже можно будет куда копать. Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 27 минут назад, nogocuHoBuk сказал: Либо сторонний модуль либо "правленый" Simple. Вполне вероятно, ибо ТС не обратился к разработчику. Надіслати Поділитися на інших сайтах More sharing options... iKapranova Опубліковано: 25 жовтня 2021 Share Опубліковано: 25 жовтня 2021 Очень нужна помощь. Во-первых слетел simle, хотя модуль установлен, но на сайте не отображается. Во-вторых в журнале ошибок вот такое прописано PHP Notice: Undefined index: code in /var/www/u1457571/data/www/nailberryshop.ru/admin/model/design/layout.php on line 38 захожу и ничего не понимаю $this->db->query("INSERT INTO " . DB_PREFIX . "layout_module SET layout_id = '" . (int)$layout_id . "', code = '" . $this->db->escape($layout_module['code']) . "', position = '" . $this->db->escape($layout_module['position']) . "', sort_order = '" . (int)$layout_module['sort_order'] . "'"); Что исправить? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
esculapra Опубліковано: 23 жовтня 2021 Share Опубліковано: 23 жовтня 2021 27 минут назад, nogocuHoBuk сказал: Либо сторонний модуль либо "правленый" Simple. Вполне вероятно, ибо ТС не обратился к разработчику. Надіслати Поділитися на інших сайтах More sharing options... iKapranova Опубліковано: 25 жовтня 2021 Share Опубліковано: 25 жовтня 2021 Очень нужна помощь. Во-первых слетел simle, хотя модуль установлен, но на сайте не отображается. Во-вторых в журнале ошибок вот такое прописано PHP Notice: Undefined index: code in /var/www/u1457571/data/www/nailberryshop.ru/admin/model/design/layout.php on line 38 захожу и ничего не понимаю $this->db->query("INSERT INTO " . DB_PREFIX . "layout_module SET layout_id = '" . (int)$layout_id . "', code = '" . $this->db->escape($layout_module['code']) . "', position = '" . $this->db->escape($layout_module['position']) . "', sort_order = '" . (int)$layout_module['sort_order'] . "'"); Что исправить? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
iKapranova Опубліковано: 25 жовтня 2021 Share Опубліковано: 25 жовтня 2021 Очень нужна помощь. Во-первых слетел simle, хотя модуль установлен, но на сайте не отображается. Во-вторых в журнале ошибок вот такое прописано PHP Notice: Undefined index: code in /var/www/u1457571/data/www/nailberryshop.ru/admin/model/design/layout.php on line 38 захожу и ничего не понимаю $this->db->query("INSERT INTO " . DB_PREFIX . "layout_module SET layout_id = '" . (int)$layout_id . "', code = '" . $this->db->escape($layout_module['code']) . "', position = '" . $this->db->escape($layout_module['position']) . "', sort_order = '" . (int)$layout_module['sort_order'] . "'"); Что исправить? Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts