Перейти к содержанию
Официальный форум поддержки Simpla

При оформлении заказа нет подтверждения


Рекомендуемые сообщения

Добрый день !

 

при нажатии на кнопки оформить заказ не пишет спасибо ваш заказ оформлен, в чем может быть проблема ? 

За ранее всем спасибо ! Оформление на одной странице.

 

сама страница http://deltagsm.ru/cart

Изменено пользователем Hero
Ссылка на сообщение
Поделиться на другие сайты

что-то у вас не то с оформлением. корзина очищается, вам письмо о новом заказе приходит?

 

в view/CartView.php есть строки?

// Перенаправляем на страницу заказа
header('Location: '.$this->config->root_url.'/order/'.$order->url);
Ссылка на сообщение
Поделиться на другие сайты

/**

* 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 заказа

 

Ссылка на сообщение
Поделиться на другие сайты

первое что вижу, эти два поля

$order->delivery_id = $this->request->post('delivery_id', 'integer');
$order->payment_method_id = $this->request->post('payment_method_id', 'integer');

должны быть ПОСЛЕ

$order = new stdClass;

а не перед, как у вас.

Ссылка на сообщение
Поделиться на другие сайты

вышлите файл в архиве, потому что без нормальной структуры читать невозможно.

https://cloud.mail.ru/public/5eEC/T9Ke47vB3

 

тут нужные файлы. и еще поиск перестал работать, при наведении на поиск страница обновляется (((

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Вот и у меня похожие проблемы. Вместо страницы подтверждения заказа пользователь остается в корзине (заказ оформляется) пользователь еще раз нажимает отправить (заказ оформляется второй раз) и пользователь отправляется на страницу ваша корзина пуста.

 

Насчет поиска: если страница недогрузилать, но уже отображается и нажать на поиск - отправляет на главную.

 

У вас случайно не таймвеб? он последняя время ужасно работает, может быть в нем проблема.

Изменено пользователем Sharfik
Ссылка на сообщение
Поделиться на другие сайты
  • 2 года спустя...

первое что вижу, эти два поля

$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'); вообще нет

Ссылка на сообщение
Поделиться на другие сайты
  • 7 месяцев спустя...

Вот и у меня похожие проблемы. Вместо страницы подтверждения заказа пользователь остается в корзине (заказ оформляется) пользователь еще раз нажимает отправить (заказ оформляется второй раз) и пользователь отправляется на страницу ваша корзина пуста.

 

Насчет поиска: если страница недогрузилать, но уже отображается и нажать на поиск - отправляет на главную.

 

У вас случайно не таймвеб? он последняя время ужасно работает, может быть в нем проблема.

Добрый день, как решили проблему?

Ссылка на сообщение
Поделиться на другие сайты

Включите дебаг и посмотрите что происходит.

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.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...