Jump to content
Sign in to follow this  
Lenim

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

Recommended Posts

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
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 = ?

 

Share this post


Link to post
Share on other sites

@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']) . "',

Share this post


Link to post
Share on other sites

Покажите скрипт, которй выполняется на addToCart

И да. Если сверху накидана гора модулей, то кто-то из них может шалить. Если к товару относится.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.