Перейти к содержанию
Lenim

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

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

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

В этих заказах имеются данные, которые ввел пользователь и даты заказа. Итоговая сумма = 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']) . "',

Поделиться сообщением


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

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

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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.