Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Кнопка "оформить заказ" некорректно работает


Lenim

Recommended Posts

При клике на "оформить заказ" в админ панели появляется два одинаковых заказа(вместо одного).

В этих заказах имеются данные, которые ввел пользователь и даты заказа. Итоговая сумма = 0 руб, самих товаров и их кол-ва вообще нет.

Не знаю, что делать. Рылся в логике php - в БД записываются данные из метода post. Мб подскажет кто как записать туда еще и такие данные как сам товар, кол-во и сумму.

P.S. При клике на "в корзину" также добавляется 2 товара(вместо одного)

Надіслати
Поділитися на інших сайтах


Сначало нужно знать какой шаблон стоит, модули. Дальше, идите по цепочке, в карточке товара Вывод "product/product.tpl" есть кнопка покупки посмотреть что и куда она отправляет...

 По умолчанию должна записать сам товар, кол-во и сумму как минимум)

Надіслати
Поділитися на інших сайтах

2 часа назад, Eldaeron сказал:

Сначало нужно знать какой шаблон стоит, модули. Дальше, идите по цепочке, в карточке товара Вывод "product/product.tpl" есть кнопка покупки посмотреть что и куда она отправляет...

 По умолчанию должна записать сам товар, кол-во и сумму как минимум)

Не нашел такой кнопки.

Сейчас выполняется вот этот код, при заполнении всех полей формы (в cart.php)

$this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET  firstname = '" . $this->db->escape($this->request->post['name']) . "',

telephone = '" . $this->db->escape($this->request->post['phone']) . "',
payment_method = '" . $this->db->escape($this->request->post['spoplata']) . "', 
email = '" . $this->db->escape($this->request->post['email']) . "', 
order_status_id = '1',
comment = '" . $this->db->escape($this->request->post['comment']) . "',
date_added = NOW(), date_modified = NOW()");

Как написать для общей суммы?

total = ?

 

Надіслати
Поділитися на інших сайтах


@Lenim где вы нашли такое?

Конкретный путь вхождение к контроллеру можете сказать catalog/controller/*.*

(И версию движка указать) Немогу найти на - https://github.com/opencart/opencart/find/master

 

Похожую строку нашел в catalog/model/checkout/order.php

 

но чучуть другая, строка 4:

this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET invoice_prefix = '" . $this->db->escape($data['invoice_prefix']) . "', store_id = '" . (int)$data['store_id'] . "', store_name = '" . $this->db->escape($data['store_name']) . "', store_url = '" . $this->db->escape($data['store_url']) . "', customer_id = '" . (int)$data['customer_id'] . "', customer_group_id = '" . (int)$data['customer_group_id'] . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']) ? json_encode($data['custom_field']) : '') . "', payment_firstname = '" . $this->db->escape($data['payment_firstname']) . "', payment_lastname = '" . $this->db->escape($data['payment_lastname']) . "', payment_company = '" . $this->db->escape($data['payment_company']) . "', payment_address_1 = '" . $this->db->escape($data['payment_address_1']) . "', payment_address_2 = '" . $this->db->escape($data['payment_address_2']) . "', payment_city = '" . $this->db->escape($data['payment_city']) . "', payment_postcode = '" . $this->db->escape($data['payment_postcode']) . "', payment_country = '" . $this->db->escape($data['payment_country']) . "', payment_country_id = '" . (int)$data['payment_country_id'] . "', payment_zone = '" . $this->db->escape($data['payment_zone']) . "', payment_zone_id = '" . (int)$data['payment_zone_id'] . "', payment_address_format = '" . $this->db->escape($data['payment_address_format']) . "', payment_custom_field = '" . $this->db->escape(isset($data['payment_custom_field']) ? json_encode($data['payment_custom_field']) : '') . "', payment_method = '" . $this->db->escape($data['payment_method']) . "', payment_code = '" . $this->db->escape($data['payment_code']) . "', shipping_firstname = '" . $this->db->escape($data['shipping_firstname']) . "', shipping_lastname = '" . $this->db->escape($data['shipping_lastname']) . "', shipping_company = '" . $this->db->escape($data['shipping_company']) . "', shipping_address_1 = '" . $this->db->escape($data['shipping_address_1']) . "', shipping_address_2 = '" . $this->db->escape($data['shipping_address_2']) . "', shipping_city = '" . $this->db->escape($data['shipping_city']) . "', shipping_postcode = '" . $this->db->escape($data['shipping_postcode']) . "', shipping_country = '" . $this->db->escape($data['shipping_country']) . "', shipping_country_id = '" . (int)$data['shipping_country_id'] . "', shipping_zone = '" . $this->db->escape($data['shipping_zone']) . "', shipping_zone_id = '" . (int)$data['shipping_zone_id'] . "', shipping_address_format = '" . $this->db->escape($data['shipping_address_format']) . "', shipping_custom_field = '" . $this->db->escape(isset($data['shipping_custom_field']) ? json_encode($data['shipping_custom_field']) : '') . "', shipping_method = '" . $this->db->escape($data['shipping_method']) . "', shipping_code = '" . $this->db->escape($data['shipping_code']) . "', comment = '" . $this->db->escape($data['comment']) . "', total = '" . (float)$data['total'] . "', affiliate_id = '" . (int)$data['affiliate_id'] . "', commission = '" . (float)$data['commission'] . "', marketing_id = '" . (int)$data['marketing_id'] . "', tracking = '" . $this->db->escape($data['tracking']) . "', language_id = '" . (int)$data['language_id'] . "', currency_id = '" . (int)$data['currency_id'] . "', currency_code = '" . $this->db->escape($data['currency_code']) . "', currency_value = '" . (float)$data['currency_value'] . "', ip = '" . $this->db->escape($data['ip']) . "', forwarded_ip = '" .  $this->db->escape($data['forwarded_ip']) . "', user_agent = '" . $this->db->escape($data['user_agent']) . "', accept_language = '" . $this->db->escape($data['accept_language']) . "', date_added = NOW(), date_modified = NOW()");

Судя по вашей логике запросов нужно смотреть если ли переменная total тогда для нее будет запрос типа:

total = '" . $this->db->escape($this->request->post['total']) . "',
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.