xikarx Опубликовано 14 ноября, 2022 Жалоба Поделиться Опубликовано 14 ноября, 2022 (изменено) Под хостинг с php7.2 решил установить Smarty 4.x в Симплу. Залил простым копированием - все вроде нормально, работает справно. Но как оказалось, после создания заказа, на страницах /order/dflvndxxxxxxxxx.. в трех местах получаю ошибки: Warning: Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 79 Warning: Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132 Warning: Parameter 2 to OrderView::checkout_form() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/4270d009197103a9a5e214be39555a51b172abbd_0.file.order.tpl.php on line 286 Соответственно в логах про это: PHP Warning: Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132 [Mon Nov 14 20:19:16.294071 2022] [php7:warn] [pid 9021] [client 5.255.253.155:51548] PHP Warning: Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php Насколько я понял - что-то связанное с условиями компилляции шаблонов, в файле View.php с функцией public function get_session_products_plugin($params, &$smarty). Подскажите, как чинить? И еще - пытался отключить показ ошибок (вроде кроме поломанного дизайна ни на что эти варнинги не влияют), но так и не смог. В самой симпле в индексном файле error_reporting итак закомментирован, ни добавление инструкций в htaccess, ни установка error reporting - off в php.ini на сервере - результатов не дала. Естьвообще возможность из самой cms выключить отображение ошибок? Изменено 14 ноября, 2022 пользователем xikarx Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 14 ноября, 2022 Жалоба Поделиться Опубликовано 14 ноября, 2022 (изменено) 10 минут назад, xikarx сказал: Под хостинг с php7.2 решил установить Smarty 4.x в Симплу. Залил простым копированием - все вроде нормально, работает справно. Но как оказалось, после создания заказа, на страницах /order/dflvndxxxxxxxxx.. в трех местах получаю ошибки: Warning: Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 79 Warning: Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132 Warning: Parameter 2 to OrderView::checkout_form() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/4270d009197103a9a5e214be39555a51b172abbd_0.file.order.tpl.php on line 286 Соответственно в логах про это: PHP Warning: Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132 [Mon Nov 14 20:19:16.294071 2022] [php7:warn] [pid 9021] [client 5.255.253.155:51548] PHP Warning: Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php Насколько я понял - что-то связанное с условиями компилляции шаблонов, в файле View.php с функцией public function get_session_products_plugin($params, &$smarty). Подскажите, как чинить? И еще - пытался отключить показ ошибок (вроде кроме поломанного дизайна ни на что эти варнинги не влияют), но так и не смог. В самой симпле в индексном файле error_reporting итак закомментирован, ни добавление инструкций в htaccess, ни установка error reporting - off в php.ini на сервере - результатов не дала. Естьвообще возможность из самой cms выключить отображение ошибок? во view/View.php у функций плагинов уберите оператор & Было public function get_browsed_products($params, &$smarty) { ... } Стало public function get_browsed_products($params, $smarty) { ... } Изменено 14 ноября, 2022 пользователем alexivchenko Цитата Ссылка на сообщение Поделиться на другие сайты
xikarx Опубликовано 14 ноября, 2022 Автор Жалоба Поделиться Опубликовано 14 ноября, 2022 Спасибо, помогло. Я еще думал про эти ссылки нопробовать не стал. Не вкуриваю эту тему в ооп. Осталась одна ошибка - но уже, по всей видимости из другой оперы - Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/view/View.php on line 167 т.е. вот тут public function get_session_products_plugin($params, $smarty) { if(!empty($_SESSION[$params['key']])) { $result->key = $params['key']; // ключ $result->ids = $_SESSION[$params['key']]; // сессия $result->count = count($_SESSION[$params['key']]); // количество $smarty->assign($params['key'], $result); } } я так понимаю, попытка создать объект из пустого значения? В общем с эти что сделать? Пробовал закомментить - получаю 500 ошибку.. Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 14 ноября, 2022 Жалоба Поделиться Опубликовано 14 ноября, 2022 7 минут назад, xikarx сказал: Спасибо, помогло. Я еще думал про эти ссылки нопробовать не стал. Не вкуриваю эту тему в ооп. Осталась одна ошибка - но уже, по всей видимости из другой оперы - Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/view/View.php on line 167 т.е. вот тут public function get_session_products_plugin($params, $smarty) { if(!empty($_SESSION[$params['key']])) { $result->key = $params['key']; // ключ $result->ids = $_SESSION[$params['key']]; // сессия $result->count = count($_SESSION[$params['key']]); // количество $smarty->assign($params['key'], $result); } } я так понимаю, попытка создать объект из пустого значения? В общем с эти что сделать? Пробовал закомментить - получаю 500 ошибку.. Это что-то не стандартное, нужно смотреть на месте. Напишите в личные сообщения. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 15 ноября, 2022 Жалоба Поделиться Опубликовано 15 ноября, 2022 12 часов назад, xikarx сказал: Спасибо, помогло. Я еще думал про эти ссылки нопробовать не стал. Не вкуриваю эту тему в ооп. Осталась одна ошибка - но уже, по всей видимости из другой оперы - Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/view/View.php on line 167 т.е. вот тут public function get_session_products_plugin($params, $smarty) { if(!empty($_SESSION[$params['key']])) { $result->key = $params['key']; // ключ $result->ids = $_SESSION[$params['key']]; // сессия $result->count = count($_SESSION[$params['key']]); // количество $smarty->assign($params['key'], $result); } } я так понимаю, попытка создать объект из пустого значения? В общем с эти что сделать? Пробовал закомментить - получаю 500 ошибку.. Для исправления пробуйте вставить $result = new stdClass(); перед $result->key = $params['key']; // ключ Цитата Ссылка на сообщение Поделиться на другие сайты
xikarx Опубликовано 17 ноября, 2022 Автор Жалоба Поделиться Опубликовано 17 ноября, 2022 Да вроде все, пропала ошибка. Не понял почему (из действий только папку compiled очистил. Но ошибки больше нет. Но, все равно спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
xikarx Опубликовано 22 ноября, 2022 Автор Жалоба Поделиться Опубликовано 22 ноября, 2022 Изловил еще одну проблему, чтобы не создавать новой темы - спрошу здесь. Я не уверен, что связано с заменой версии Smarty, но вроде проблема появилась после обновления. Короче суть - при создании заказа письмо о заказе на админский email приходит с заголовком "<без темы>", до этого прихоили с заголовком "Новый заказ №ххх". полез разбираться. в исходниках писем наблюдаю такое Subject: =?utf-8?B??=, до этого, в Subject передавалось сообщение о номере заказа в закодированном виде, типа так: Subject: =?utf-8?B?0J3QvtCy0YvQuSDQt9Cw0LrQsNC3IOKEljQ0NzU=?= Вопрос - куда это вообще копать? Это вопросы к серверу, к движку, к Smarty, email-серверу? Я этой темы вообще не знаю, ни разу не сталкиваося какой скрипт/служба ответственны за передачу в http заголовки темы письма? В Гугле куча теоретической инфы о заголовках, а как и где они формируются при создании и пересылке электронных писем я не нашел. Может правильно не заню как гугла спросить... Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 22 ноября, 2022 Жалоба Поделиться Опубликовано 22 ноября, 2022 2 часа назад, xikarx сказал: Изловил еще одну проблему, чтобы не создавать новой темы - спрошу здесь. Я не уверен, что связано с заменой версии Smarty, но вроде проблема появилась после обновления. Короче суть - при создании заказа письмо о заказе на админский email приходит с заголовком "<без темы>", до этого прихоили с заголовком "Новый заказ №ххх". полез разбираться. в исходниках писем наблюдаю такое Subject: =?utf-8?B??=, до этого, в Subject передавалось сообщение о номере заказа в закодированном виде, типа так: Subject: =?utf-8?B?0J3QvtCy0YvQuSDQt9Cw0LrQsNC3IOKEljQ0NzU=?= Вопрос - куда это вообще копать? Это вопросы к серверу, к движку, к Smarty, email-серверу? Я этой темы вообще не знаю, ни разу не сталкиваося какой скрипт/служба ответственны за передачу в http заголовки темы письма? В Гугле куча теоретической инфы о заголовках, а как и где они формируются при создании и пересылке электронных писем я не нашел. Может правильно не заню как гугла спросить... В файле /simpla/design/html/email_order_admin.tpl Находим {$subject = "Новый заказ №`$order->id`" scope=parent} и меняем у scope parent на root и так по всем файлам админки Цитата Ссылка на сообщение Поделиться на другие сайты
xikarx Опубликовано 22 ноября, 2022 Автор Жалоба Поделиться Опубликовано 22 ноября, 2022 Спасибо, помогло! Цитата Ссылка на сообщение Поделиться на другие сайты
xikarx Опубликовано 19 ноября, 2023 Автор Жалоба Поделиться Опубликовано 19 ноября, 2023 И снова всем здравствуйте. Давно не обновлял сайт, тутвзялся добавить товар и выяснил, что товары оказывается добавляться не желают или добаляются с ошибкой. Снова прошу помощи. Основную ошибку, не дававшую создатьновый товар вроде пофиксил (было PHP Warning: Column 'action' cannot be null [INSERT INTO s_products SET id='0', ........ new=NULL, action=NULL, ned='0', bez='0'] in /var/www/ikar/data/www/astra-omsk.ru/api/Database.php on line 100, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin Присвоил полю action значение null по умолчанию. Кстати, подскажите, второй вариант как сделать - где в коде сайта разрешить null значение в данном поле? И второе - имею кучу ошибок (в логах), влияние которых, вроде на работу сайта пока не увидел, но которые раздражают: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:51.411838 2023] [php7:warn] [pid 20733] [client 188.43.194.125:56570] PHP Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 72, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin собственно указанная сторока (с 67 по 76) // Свойства товара $options = $this->request->post('options'); if(is_array($options)) { foreach($options as $f_id=>$val) { $po[$f_id]->feature_id = $f_id; $po[$f_id]->value = $val; } $options = $po; } и еще не понятные мне ошибки: [Sun Nov 19 17:47:51.458115 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice: Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 308, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:51.465958 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice: Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 453, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:56.216594 2023] [php7:warn] [pid 20737] [client 188.43.194.125:57132] PHP Warning: A non-numeric value encountered in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/f926a1426a3c03df5714da5ede71d26e0e28a930_0.file.product.tpl.php on line 212, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:56.217139 2023] [php7:warn] [pid 20737] [client 188.43.194.125:57132] PHP Warning: Parameter 2 to View::get_object_articles_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/f926a1426a3c03df5714da5ede71d26e0e28a930_0.file.product.tpl.php on line 561, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin Кто чем пособит буду очень признателен. Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 19 ноября, 2023 Жалоба Поделиться Опубликовано 19 ноября, 2023 (изменено) 7 часов назад, xikarx сказал: И снова всем здравствуйте. Давно не обновлял сайт, тутвзялся добавить товар и выяснил, что товары оказывается добавляться не желают или добаляются с ошибкой. Снова прошу помощи. Основную ошибку, не дававшую создатьновый товар вроде пофиксил (было PHP Warning: Column 'action' cannot be null [INSERT INTO s_products SET id='0', ........ new=NULL, action=NULL, ned='0', bez='0'] in /var/www/ikar/data/www/astra-omsk.ru/api/Database.php on line 100, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin Присвоил полю action значение null по умолчанию. Кстати, подскажите, второй вариант как сделать - где в коде сайта разрешить null значение в данном поле? И второе - имею кучу ошибок (в логах), влияние которых, вроде на работу сайта пока не увидел, но которые раздражают: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:51.411838 2023] [php7:warn] [pid 20733] [client 188.43.194.125:56570] PHP Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 72, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin собственно указанная сторока (с 67 по 76) // Свойства товара $options = $this->request->post('options'); if(is_array($options)) { foreach($options as $f_id=>$val) { $po[$f_id]->feature_id = $f_id; $po[$f_id]->value = $val; } $options = $po; } и еще не понятные мне ошибки: [Sun Nov 19 17:47:51.458115 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice: Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 308, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:51.465958 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice: Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 453, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:56.216594 2023] [php7:warn] [pid 20737] [client 188.43.194.125:57132] PHP Warning: A non-numeric value encountered in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/f926a1426a3c03df5714da5ede71d26e0e28a930_0.file.product.tpl.php on line 212, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:56.217139 2023] [php7:warn] [pid 20737] [client 188.43.194.125:57132] PHP Warning: Parameter 2 to View::get_object_articles_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/f926a1426a3c03df5714da5ede71d26e0e28a930_0.file.product.tpl.php on line 561, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin Кто чем пособит буду очень признателен. Могу помочь, пишите в ЛС Изменено 19 ноября, 2023 пользователем alexivchenko Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 19 ноября, 2023 Жалоба Поделиться Опубликовано 19 ноября, 2023 [Sun Nov 19 17:47:51.458115 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice: Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 308, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin [Sun Nov 19 17:47:51.465958 2023] [php7:notice] [pid 20733] [client 188.43.194.125:56570] PHP Notice: Undefined variable: groop_products in /var/www/ikar/data/www/astra-omsk.ru/simpla/ProductAdmin.php on line 453, referer: https://astra-omsk.ru/simpla/index.php?module=ProductAdmin&return=%2Fsimpla%2Findex.php%3Fmodule%3DProductsAdmin Надо смотреть api/ProductAdmin.php 308, 453 строку что за переменная groop_products Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 20 ноября, 2023 Жалоба Поделиться Опубликовано 20 ноября, 2023 (изменено) 7 часов назад, alexivchenko сказал: Надо смотреть api/ProductAdmin.php 308, 453 строку что за переменная groop_products Оригинально - смотреть несуществующий файл... Ошибки, видимо, из-за перехода на новую версию PHP. В simpla/ProductAdmin.php надо сделать так: class ProductAdmin extends Simpla { public function fetch() { $product = new stdclass(); И во многих соседних файлах надо провести подобные изменения, так как весьма вероятно, что другие сущности аналогично могли стать не редактируемыми. Ошибка со значением поля по умолчанию тоже, скорее всего связана с изменением версии БД. И также, скорее всего, аналогичные ошибки могут наличествовать в других сущностях. Проверять надо все... И лучше решать не по каждому полю, а через общие настройки. Прочие ошибки носят более частный характер, но причины примерно те же... Изменено 20 ноября, 2023 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
alexivchenko Опубликовано 20 ноября, 2023 Жалоба Поделиться Опубликовано 20 ноября, 2023 1 час назад, phukortsin сказал: Оригинально - смотреть несуществующий файл... Ошибки, видимо, из-за перехода на новую версию PHP. В simpla/ProductAdmin.php надо сделать так: class ProductAdmin extends Simpla { public function fetch() { $product = new stdclass(); И во многих соседних файлах надо провести подобные изменения, так как весьма вероятно, что другие сущности аналогично могли стать не редактируемыми. Ошибка со значением поля по умолчанию тоже, скорее всего связана с изменением версии БД. И также, скорее всего, аналогичные ошибки могут наличествовать в других сущностях. Проверять надо все... И лучше решать не по каждому полю, а через общие настройки. Прочие ошибки носят более частный характер, но причины примерно те же... Ой, ну поспешил и вместо simpla/ProductAdmin.php написал api/ProductAdmin.php прям надо было акцентировать. Одновременно писал инструкцию к модулю и ошибся. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 21 ноября, 2023 Жалоба Поделиться Опубликовано 21 ноября, 2023 22 часа назад, alexivchenko сказал: Ой, ну поспешил и вместо simpla/ProductAdmin.php написал api/ProductAdmin.php прям надо было акцентировать. Одновременно писал инструкцию к модулю и ошибся. Если такой ранимый, не будем акцентировать, а сосредоточимся на более существенном: Как надо смотреть на переменную и что нужно увидеть? Строка 308: if(is_array($groop_products)) Строка 453: $this->design->assign('groop_products', $groop_products); Как по мне, так в комментарии к ошибке все и так сказано понятно: PHP Notice: Undefined variable. Надеюсь, уважаемый многостаночник в новом ответе не ошибется. И надеюсь, в той инструкции, которую писал в режиме многозадачности, не насажал ошибок. Может, стоит в той инструкции добавить примечание примерно такое: создавалось, мол, при напряженной одновременной работе над несколькими проектами, возможны ошибки и при обнаружении просьба на них внимание не акцентировать... Цитата Ссылка на сообщение Поделиться на другие сайты
xikarx Опубликовано 29 февраля Автор Жалоба Поделиться Опубликовано 29 февраля Наконец руки дошли написать всем неравнодушным спасибо и повтыкать в код с умным лицом. назначение new stdClass вроде проблему решает. В силу недостаточных знаний не везде понятно где варнинг типа PHP Notice: Undefined variable: ... можно починить созданием new stdClass а где может что-то другое надо делать. при оформлении заказа таких нотайсов овердохрена. Ну, буду изучать разбираться. Напрягает еще 2 ошибки - PHP Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 71, referer: https://astra-omsk.ru/cart код из api/Cart.php строка 65 $cart->pp = '0'; foreach($items as $variant_id=>$item) { $purchase = null; if(!empty($products[$item->variant->product_id])) { $purchase->product = $products[$item->variant->product_id]; $purchase->variant = $item->variant; $purchase->amount = $item->amount; $cart->purchases[] = $purchase; if($purchase->product->action OR $purchase->product->bez == '1') $cart->no_discount_price += $item->variant->price*$item->amount; else $cart->discount_price += $item->variant->price*$item->amount; и какие-то проблемы с калькуляцией корзины PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 39, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 51, referer: https://astra-omsk.ru/cart код из ajax/calculate_cart.php стр.37 $simpla->design->assign('currency', $currency); $simpla->design->assign('delivery_id', $delivery_id); $simpla->design->assign('coupon_result', $coupon_result); $result = array('cart_title'=>$simpla->design->fetch('cart_title.tpl'), 'cart_item_total'=>$simpla->design->fetch('cart_item_total.tpl'), 'cart_items_total'=>$simpla->design->fetch('cart_items_total.tpl'), 'cart_total'=>$simpla->design->fetch('cart_total.tpl'), 'informer'=>$simpla->design->fetch('cart_informer.tpl'), 'deliveries'=>$simpla->design->fetch('delivery.tpl'), 'delivery_cost'=>$simpla->design->fetch('delivery_cost.tpl'), 'incart'=>$cart->total_products, 'cart_coupon'=>$simpla->design->fetch('cart_coupon.tpl'), 'coupon_status'=>$coupon_result, 'coupon_result'=>$simpla->design->fetch('cart_coupon_result.tpl'), 'subtotal_price'=>$cart->cart_price, 'discount_price'=>$cart->discount_value_price, 'coupon_price'=>$cart->coupon_discount, 'delivery_price'=>$delivery_price, 'total_price'=>$cart->cart_price - $cart->discount_value_price - $cart->coupon_discount +$delivery_price, ); при этом корзина (у меня ajax, на одной странице) считается нормально, но после ввода всех данных и клика в кнопку "создать заказ" - считается только первая позиция в заказе. Однако скидка (от суммы заказа, если набирается товаров в корзине) считается от суммы всех позиций. Т.е. положил в корзину 5 товаров по 10 000 тыс. общая сумма корзины 50 000, со скидкой 10% - заказ создаться должен на 45 000, а создается на 5 000. В общем что-то переход на php7 как то мне дается с сильно непредвиденными проблемами. Еще раз спасибо всем за участие..! Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 1 марта Жалоба Поделиться Опубликовано 1 марта Ну, для начала $purchase = null; if (!empty($products[$item->variant->product_id])) { $purchase = new stdClass(); $purchase->product = $products[$item->variant->product_id]; Цитата Ссылка на сообщение Поделиться на другие сайты
xikarx Опубликовано 1 марта Автор Жалоба Поделиться Опубликовано 1 марта 7 часов назад, Kosjak76 сказал: Ну, для начала $purchase = null; if (!empty($products[$item->variant->product_id])) { $purchase = new stdClass(); $purchase->product = $products[$item->variant->product_id]; Спасибо. Варнинги вроде все изжил. Заказы создаются через один - то нормально все считается в корзине, то какая-то одна позиция не считается. При этом имею кучу однотипных нотайсов: PHP Notice: Undefined property: stdClass::$discount_price in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 83, referer: https://astra-omsk.ru/cart PHP Notice: Undefined property: stdClass::$no_discount_price in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 123, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 9, referer: https://astra-omsk.ru/cart PHP Notice: Undefined index: city in /var/www/ikar/data/www/astra-omsk.ru/api/Delivery.php on line 121, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 9, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 39, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 51, referer: https://astra-omsk.ru/cart PHP Notice: Undefined property: stdClass::$full_price in /var/www/ikar/data/www/astra-omsk.ru/view/CartView.php on line 145, referer: https://astra-omsk.ru/cart т.е. теперь свойства std-класса стали неопределенными. Я правильно понимаю, что, например PHP Notice: Undefined property: stdClass::$discount_price in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 83, referer: https://astra-omsk.ru/cart PHP Notice: Undefined property: stdClass::$no_discount_price in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 123, referer: https://astra-omsk.ru/cart нужно определять в начале файла, как-то типа так (поправьте, если что): public function get_cart() { $cart = new stdClass(); $cart->purchases = array(); $cart->cart_price = 0; .... $cart->$discount_price = 0; $cart->$no_discount_price = 0; Если да, то что делать с Undefined index: city in /var/www/ikar/data/www/astra-omsk.ru/api/Delivery.php on line 121 ? он вроде определен в файле api/Delivery.php: стр. 121 $city = $_REQUEST['city']; и то же не понятно со строками PHP Notice: Undefined property: stdClass::$full_price in /var/www/ikar/data/www/astra-omsk.ru/view/CartView.php on line 145, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 39, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 51, referer: https://astra-omsk.ru/cart Опять всем , кто отзовется - премного благодарен! Нелегкое это дело, ООП.. Цитата Ссылка на сообщение Поделиться на другие сайты
newbember Опубликовано 6 марта Жалоба Поделиться Опубликовано 6 марта В 01.03.2024 в 18:11, xikarx сказал: Если да, то что делать с Undefined index: city in /var/www/ikar/data/www/astra-omsk.ru/api/Delivery.php on line 121 ? он вроде определен в файле api/Delivery.php: стр. 121 $city = $_REQUEST['city']; и то же не понятно со строками PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 39, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon_result in /var/www/ikar/data/www/astra-omsk.ru/ajax/calculate_cart.php on line 51, referer: https://astra-omsk.ru/cart Опять всем , кто отзовется - премного благодарен! Нелегкое это дело, ООП.. Определена переменная $city, а индекс массива $_REQUEST['city'] - не найден. Посмотри на каком этапе он должен там появиться и почему не. Переменная coupon_result не определена/не передана в шаблоне. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.