Hero Опубликовано 9 февраля, 2016 Жалоба Поделиться Опубликовано 9 февраля, 2016 (изменено) Добрый день ! при нажатии на кнопки оформить заказ не пишет спасибо ваш заказ оформлен, в чем может быть проблема ? За ранее всем спасибо ! Оформление на одной странице. сама страница http://deltagsm.ru/cart Изменено 9 февраля, 2016 пользователем Hero Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 9 февраля, 2016 Жалоба Поделиться Опубликовано 9 февраля, 2016 что-то у вас не то с оформлением. корзина очищается, вам письмо о новом заказе приходит? в view/CartView.php есть строки? // Перенаправляем на страницу заказа header('Location: '.$this->config->root_url.'/order/'.$order->url); Цитата Ссылка на сообщение Поделиться на другие сайты
Hero Опубликовано 9 февраля, 2016 Автор Жалоба Поделиться Опубликовано 9 февраля, 2016 да вы сделали 2 заказа Цитата Ссылка на сообщение Поделиться на другие сайты
Hero Опубликовано 9 февраля, 2016 Автор Жалоба Поделиться Опубликовано 9 февраля, 2016 /*** Simpla CMS** @copyright 2009 Denis Pikusov* @link http://simp.la* @author Denis Pikusov** Корзина покупок* Этот класс использует шаблон cart.tpl**/ require_once('View.php'); class CartView extends View{//////////////////////////////////////////// Изменения товаров в корзине//////////////////////////////////////////public function __construct(){parent::__construct(); // Если передан id варианта, добавим его в корзинуif($variant_id = $this->request->get('variant', 'integer')){$this->cart->add_item($variant_id, $this->request->get('amount', 'integer'));header('location: '.$this->config->root_url.'/cart/'); } // Удаление товара из корзиныif($delete_variant_id = intval($this->request->get('delete_variant'))){$this->cart->delete_item($delete_variant_id);if(!isset($_POST['submit_order']) || $_POST['submit_order']!=1)header('location: '.$this->config->root_url.'/cart/');} // Если нажали оформить заказif(isset($_POST['checkout'])){ $order->delivery_id = $this->request->post('delivery_id', 'integer');$order->payment_method_id = $this->request->post('payment_method_id', 'integer');$order = new stdClass;$order->name = $this->request->post('name');$order->email = $this->request->post('email');$order->address = $this->request->post('address');$order->phone = $this->request->post('phone');$order->comment = $this->request->post('comment');$order->ip = $_SERVER['REMOTE_ADDR']; $this->design->assign('delivery_id', $order->delivery_id);$this->design->assign('name', $order->name);$this->design->assign('email', $order->email);$this->design->assign('phone', $order->phone);$this->design->assign('address', $order->address); // Скидка$cart = $this->cart->get_cart();$order->discount = $cart->discount; if($cart->coupon){$order->coupon_discount = $cart->coupon_discount;$order->coupon_code = $cart->coupon->code;}// if(!empty($this->user->id))$order->user_id = $this->user->id; if(empty($order->name)){$this->design->assign('error', 'empty_name');}elseif(empty($order->email)){$this->design->assign('error', 'empty_email');} else{// Добавляем заказ в базу$order_id = $this->orders->add_order($order);$_SESSION['order_id'] = $order_id; // Если использовали купон, увеличим количество его использованийif($cart->coupon)$this->coupons->update_coupon($cart->coupon->id, array('usages'=>$cart->coupon->usages+1)); // Добавляем товары к заказуforeach($this->request->post('amounts') as $variant_id=>$amount){$this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));}$order = $this->orders->get_order($order_id); // Стоимость доставки$delivery = $this->delivery->get_delivery($order->delivery_id);if(!empty($delivery) && $delivery->free_from > $order->total_price){$this->orders->update_order($order->id, array('delivery_price'=>$delivery->price, 'separate_delivery'=>$delivery->separate_payment));} // Отправляем письмо пользователю$this->notify->email_order_user($order->id); // Отправляем письмо администратору$this->notify->email_order_admin($order->id); // Очищаем корзину (сессию)$this->cart->empty_cart(); // Перенаправляем на страницу заказаheader('Location: '.$this->config->root_url.'/order/'.$order->url);}}else{ // Если нам запостили amounts, обновляем ихif($amounts = $this->request->post('amounts')){foreach($amounts as $variant_id=>$amount){$this->cart->update_item($variant_id, $amount);} $coupon_code = trim($this->request->post('coupon_code', 'string'));if(empty($coupon_code)){$this->cart->apply_coupon('');header('location: '.$this->config->root_url.'/cart/');}else{$coupon = $this->coupons->get_coupon((string)$coupon_code); if(empty($coupon) || !$coupon->valid){$this->cart->apply_coupon($coupon_code);$this->design->assign('coupon_error', 'invalid');}else{$this->cart->apply_coupon($coupon_code);header('location: '.$this->config->root_url.'/cart/');}}} } } //////////////////////////////////////////// Основная функция//////////////////////////////////////////function fetch(){// Способы доставки$deliveries = $this->delivery->get_deliveries(array('enabled'=>1));$this->design->assign('deliveries', $deliveries);// Варианты оплаты$payment_methods = $this->payment->get_payment_methods(array('enabled'=>1));$this->design->assign('payment_methods', $payment_methods); // Данные пользователяif($this->user){$last_order = $this->orders->get_orders(array('user_id'=>$this->user->id, 'limit'=>1));$last_order = reset($last_order);if($last_order){$this->design->assign('name', $last_order->name);$this->design->assign('email', $last_order->email);$this->design->assign('phone', $last_order->phone);$this->design->assign('address', $last_order->address);}else{$this->design->assign('name', $this->user->name);$this->design->assign('email', $this->user->email);}} // Если существуют валидные купоны, нужно вывести инпут для купонаif($this->coupons->count_coupons(array('valid'=>1))>0)$this->design->assign('coupon_request', true); // Выводим корзинуreturn $this->design->fetch('cart.tpl');} }да вы сделали 2 заказа да вы сделали 2 заказа Цитата Ссылка на сообщение Поделиться на другие сайты
Hero Опубликовано 9 февраля, 2016 Автор Жалоба Поделиться Опубликовано 9 февраля, 2016 Как исправить ? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 9 февраля, 2016 Жалоба Поделиться Опубликовано 9 февраля, 2016 первое что вижу, эти два поля $order->delivery_id = $this->request->post('delivery_id', 'integer'); $order->payment_method_id = $this->request->post('payment_method_id', 'integer'); должны быть ПОСЛЕ $order = new stdClass; а не перед, как у вас. Цитата Ссылка на сообщение Поделиться на другие сайты
Hero Опубликовано 9 февраля, 2016 Автор Жалоба Поделиться Опубликовано 9 февраля, 2016 поменял но все ровно все по прежнему (( Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 9 февраля, 2016 Жалоба Поделиться Опубликовано 9 февраля, 2016 вышлите файл в архиве, потому что без нормальной структуры читать невозможно. Цитата Ссылка на сообщение Поделиться на другие сайты
Hero Опубликовано 10 февраля, 2016 Автор Жалоба Поделиться Опубликовано 10 февраля, 2016 вышлите файл в архиве, потому что без нормальной структуры читать невозможно.https://cloud.mail.ru/public/5eEC/T9Ke47vB3 тут нужные файлы. и еще поиск перестал работать, при наведении на поиск страница обновляется ((( Цитата Ссылка на сообщение Поделиться на другие сайты
Sharfik Опубликовано 28 марта, 2016 Жалоба Поделиться Опубликовано 28 марта, 2016 (изменено) Вот и у меня похожие проблемы. Вместо страницы подтверждения заказа пользователь остается в корзине (заказ оформляется) пользователь еще раз нажимает отправить (заказ оформляется второй раз) и пользователь отправляется на страницу ваша корзина пуста. Насчет поиска: если страница недогрузилать, но уже отображается и нажать на поиск - отправляет на главную. У вас случайно не таймвеб? он последняя время ужасно работает, может быть в нем проблема. Изменено 28 марта, 2016 пользователем Sharfik Цитата Ссылка на сообщение Поделиться на другие сайты
Манифест Опубликовано 21 февраля, 2019 Жалоба Поделиться Опубликовано 21 февраля, 2019 первое что вижу, эти два поля $order->delivery_id = $this->request->post('delivery_id', 'integer'); $order->payment_method_id = $this->request->post('payment_method_id', 'integer'); должны быть ПОСЛЕ $order = new stdClass; а не перед, как у вас.хм....у меня вот этой строки $order->payment_method_id = $this->request->post('payment_method_id', 'integer'); вообще нет Цитата Ссылка на сообщение Поделиться на другие сайты
Aprohorenko Опубликовано 18 октября, 2019 Жалоба Поделиться Опубликовано 18 октября, 2019 Вот и у меня похожие проблемы. Вместо страницы подтверждения заказа пользователь остается в корзине (заказ оформляется) пользователь еще раз нажимает отправить (заказ оформляется второй раз) и пользователь отправляется на страницу ваша корзина пуста. Насчет поиска: если страница недогрузилать, но уже отображается и нажать на поиск - отправляет на главную. У вас случайно не таймвеб? он последняя время ужасно работает, может быть в нем проблема.Добрый день, как решили проблему? Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 18 октября, 2019 Жалоба Поделиться Опубликовано 18 октября, 2019 Добрый день, как решили проблему? Включите дебаг и посмотрите что происходит. Цитата Ссылка на сообщение Поделиться на другие сайты
Aprohorenko Опубликовано 18 октября, 2019 Жалоба Поделиться Опубликовано 18 октября, 2019 Включите дебаг и посмотрите что происходит. Smarty_Variable Object (3) ->value = stdClass Object (23) ->id = "1144" ->delivery_id = "1" ->delivery_price = "500.00" ->separate_delivery = "1" ->payment_method_id = null ->paid = "0" ->payment_date = "0000-00-00 00:00:00" ->closed = "0" ->discount = "0.00" ->coupon_code = "" ->coupon_discount = "0.00" ->date = "2019-10-18 20:51:29" ->user_id = "0" ->name = "Антон" ->address = "" ->phone = "+7(999)999-99-99" ->email = "solomonxxx@yandex.ru" ->comment = "" ->status = "0" ->url = "ddeb725342f30bbdc2399b63c49d2d46" ->total_price = "5500.00" ->note = "" ->ip = "96.112.28.0" ->nocache = false ->scope = "file:index.tpl" Из панели дебага выдернул это, заказ формируется, все хорошо, однако на страницу order после нажатия "оформить заказ" не переходит. Может есть какие-то решения от тех, кто с эти боролся? Хостинг Timeweb. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 19 октября, 2019 Жалоба Поделиться Опубликовано 19 октября, 2019 в CartView.php после if(isset($_POST['checkout'])) { вставить $order = new stdClass; Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.