amfsota

Новичок
  • Публикаций

    47
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о amfsota

  • Звание
    Пользователь
  • День рождения 23.12.1981

Информация

  • Пол
    Мужчина
  • Город:
    Санкт-Петербург
  • Интересы
    Программирование, 3Dмоделинг, ЧПУ
  1. Возвращаюсь к вопросу. Так и не нашёл решения. Или я тупой или одно из двух. Где смотреть? Можете хоть файл подсказать?
  2. Лично мне нужно передать card_id в контроллер product
  3. в передаче параметров при включенном ЧПУ как это реализовать?
  4. Получилось решить проблему? У меня тоже вопрос встал.
  5. Всем привет. Работаю на OPENCART.CMS Версия 2.1.0.1.10 В магазине включён ЧПУ. требуется передать параметры ссылкой типа: /index.php?route=product/product&product_id=4&cart_id=29 чтобы можно было их использовать в контроллере product/product ЧПУ подменяет все ссылки и удаляет все параметры, добавляя свои Помогите, пожалуйста.
  6. Вопрос снят. Возможно был какой-то дефект в файле library/finance.php короче скопировал весь код из него создал новый файл скопипастил - и всё, никаких ошибок.
  7. почему вылезает ошибка? ajax запросом шлю в контроллер данные с формы: $(document).ready(function() { $('#button-addpayment').on('click', function() { $.ajax({ url: 'index.php?route=module/finance/addPayment&token=<?php echo $token;?>', type: 'post', dataType: 'json', data: new FormData($('#form-upload')[0]), cache: false, contentType: false, processData: false, beforeSend: function() { $('#button-addpayment').button('loading'); }, complete: function() { $('#button-addpayment').button('reset'); }, success: function(json) { hideErrors(); if (json['success']) { alert (json['success']); } else { showErrors(json['error']); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); }); летит всё в функцию: public function addPayment() { require_once (DIR_SYSTEM.'library/finance.php');// из-за этих строчек вылетает ошибка $finance = new Finance($this->registry);// из-за этих строчек вылетает ошибка $json=array(); $json['success']='УСПЕШНО!!!'; $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } когда регистрирую класс и/или создаю экземпляр класса появляется мерзкая ошибка: "Unexpectetd token in JSON at position 0" причём регистрируется всё нормально и все методы класса отрабатываются как победить этот баг кто-нибудь знает?
  8. Мдаа... Нет ответа. Неужели никто не знает? Опять разобрался сам. Зачем-то в классе cart в конструкторе происходит подчистка корзины от устаревших данных и требуемая перезапись значений. Вот кусок кода, может кому нужно будет: public function __construct($registry) { $this->config = $registry->get('config'); $this->customer = $registry->get('customer'); $this->session = $registry->get('session'); $this->db = $registry->get('db'); $this->tax = $registry->get('tax'); $this->weight = $registry->get('weight'); $this->load = $registry->get('load'); $this->registry = $registry; // Remove all the expired carts with no customer ID $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE customer_id = '0' AND date_added < DATE_SUB(NOW(), INTERVAL 1 HOUR)"); if ($this->customer->getId()) { // We want to change the session ID on all the old items in the customers cart $this->db->query("UPDATE " . DB_PREFIX . "cart SET session_id = '" . $this->db->escape($this->session->getId()) . "' WHERE customer_id = '" . (int)$this->customer->getId() . "'"); // Once the customer is logged in we want to update the customer ID on all items he has $cart_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE customer_id = '0' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); foreach ($cart_query->rows as $cart) { $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE cart_id = '" . (int)$cart['cart_id'] . "'"); // The advantage of using $this->add is that it will check if the products already exist and increaser the quantity if necessary. $this->add($cart['product_id'], $cart['quantity'], json_decode($cart['option']), $cart['recurring_id']); } } } Кстати, тут ещё и время хранения товаров не авторизованных пользователей устанавливается. Тема закрыта.
  9. Ребята очень надо разобраться, помогите, пожалуйста. Написал калькуляторы со своими свойствами, из карточки товара все цены подтягиваются, в админке тоже всё ОК, но если пользователь с товаром авторизуется - проблема. Почему бы просто не переписать customer_id в таблице cart, но нет почему-то затирается запись а вместо неё рисуется новая с дефолтными свойствами.
  10. Боюсь Вам надо много чего переписывать. Вам, получается, необходимо к каждому пункту фильтра добавлять список отключаемых пунктов. Здесь и переделка админки и базы нужна.
  11. Всем привет. Возникла очередная проблемка с Opencart 2.0 Не авторизованный пользователь кладёт в корзину покупки, затем на этапе оформления заказа авторизуется. У пользователя в профиле могут быть сохранённые товары в корзине, к ним приплюсовываются те товары, которые он выбрал без авторизации. Не могу найти, где происходит сверка товаров и слияние двух корзин. Авторизация происходит в контроллере checkout/login.php (запускается ajax-ом при нажатии на кнопку button-login) Далее возвращается json['redirect']="...checkout/checkout" Однако обновление корзины происходит до загрузки скрипта checkout.php Не подскажите, где?
  12. Спасибо. Видимо когда exit вставлял не сохранил перед проверкой?
  13. Подскажите, пожалуйста, в каком контроллере/моделе идёт вызов функции mail->send после подтверждения заказа? Стоит вариант оплаты bank_transfer. Кнопка "Подтверждение заказа" запускает ajax: $('#button-confirm').on('click', function() { alert ('sdsdddddddddddddd');//отладочная точка $.ajax({ url: 'index.php?route=payment/bank_transfer/confirm', type: 'post', dataType: 'json', beforeSend: function() { $('#button-confirm').button('loading'); }, complete: function() { // alert (json['success']); $('#button-confirm').button('reset'); }, success: function(json) { //alert (json['success']); location = 'http://mymetab.ru/index.php?route=checkout/success'; }, error: function(xhr, ajaxOptions, thrownError) { //alert ($json['success']); //alert ('ERROR'); } }); }); вторая строчка с alert выводит сообщение на экран. Пока сообщение висит email не отправляется. Жмём OK. Далее должна вызываться функция confirm: public function confirm() { exit;//отладочная точка $json=array(); if ($this->session->data['payment_method']['code'] == 'bank_transfer') { $this->load->language('payment/bank_transfer'); $this->load->model('checkout/order'); $comment = $this->language->get('text_instruction') . "\n\n"; $comment .= $this->config->get('bank_transfer_bank' . $this->config->get('config_language_id')) . "\n\n"; $comment .= $this->language->get('text_payment'); //создаём счёт на оплату $this->registry->set('documents', new documents($this->registry)); $data['doc_invoice'] = $this->documents->createInvoice($this->session->data['order_id']); $json['success']='good'; //запоминаем в сессии $this->session->data['doc_invoice'] = $data['doc_invoice']; $this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('bank_transfer_order_status_id'), $comment, true); } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } нигде мылом не пахнет. Ставлю в первую строчку функции exit; и при нажатии на кнопку письмо всё-равно летит покупателю. Кто вклинивается между ajax запросом и функцией confirm?
  14. Где? Все ваши посты пересмотрел, нет там нигде работающего решения. Вся проблема была именно в видимости register, а вы не предложили ничего для её решения. Всё. тема закрыта. Спасибо всем участвующим в дискуссии вы очень помогли, хоть и не конкретным решением, но своими ответами натолкнули на нужную мысль.