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

amfsota

Новачок
  
  • Публікації

    47
  • З нами

  • Відвідування

Усі публікації користувача amfsota

  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, а вы не предложили ничего для её решения. Всё. тема закрыта. Спасибо всем участвующим в дискуссии вы очень помогли, хоть и не конкретным решением, но своими ответами натолкнули на нужную мысль.
  15. ну или так можно создать экземпляр $calculators = new Calculators($this->registry);
  16. Всё, пока писал предыдущий пост нашёл решение. Блин, это костыль какой-то получается. Короче, создаём в конструкторе экземпляр registry из объекта $registry так: $this->registry = $registry; а далее создаём свои экземпляры классов так: $this->calculators = $this->registry->get('calculators'); это работает, слава богу... может быть кто-нибудь знает как по уму сделать, не хочется пихать в код такое
  17. пока итог такой: cart.php в конструкторе $registry виден и все экземпляры классов подгружаются в функции getProducts() $registry не виден и невозможно подключить ни один класс
  18. Я не издеваюсь, это надо мной похоже движок издевается. На конструктор в cart.php не ругается совсем. Более того на конструктор в calculators.php тоже не ругается, когда создание экземпляра класса идёт из модуля (не важно модуль админки или каталога). Фигня какая-то творится.
  19. Да не видит он из cart.php registry. $calculators = new Calculators($registry); получаем ошибку: Notice: Undefined variable: registry in /var/www/u0328033/public_html/mymetab.ru/system/library/cart.php
  20. дык писал в первом ответе вам. беда какая-то класс загружен - Load не нужно, но всё-равно ошибки в cart.php. при создании экземпляра класса в строке: $calculators = new Calculators(); Warning: Missing argument 1 for Calculators::__construct(), called in /var/www/u0328033/public_html/mymetab.ru/system/library/cart.php on line 174 and defined in /var/www/u0328033/public_html/mymetab.ru/system/library/calculators.php on line 5Notice: Undefined variable: registry in /var/www/u0328033/public_html/mymetab.ru/system/library/calculators.php on line 6 опять ругается на отсутствие registry, только уже в конструкторе класса calculators вот конструктор из calculators.php 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'); }
  21. Как мне посоветовали - так и пробую. Я не понимаю, почему свойство registry в моделях работает, а из системной библиотеки - нет. Блин, задача-то вроде простая - подключить класс. А никак не получается.
  22. class Cart { private $data = array(); 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->load->library('calculators'); $calculators= new Calculators(); ... Опять ошибка: Fatal error: Call to undefined method Loader::library() in /var/www/u0328033/public_html/mymetab.ru/system/library/cart.php on line 173
  23. Не работает. Файл /library/calculators.php: <?php class Calculators { private $data = array(); 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'); } ..... Файл /library/cart.php: class Cart { private $data = array(); 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->calculators = $registry->get('calculators'); .... public function getProducts() { .... $calculators= new Calculators(); $calcprice = $calculators->refreshPrice($cart); .... Ошибка: Warning: Missing argument 1 for Calculators::__construct(), called in /var/www/u0328033/public_html/mymetab.ru/system/library/cart.php on line 177 and defined in /var/www/u0328033/public_html/mymetab.ru/system/library/calculators.php on line 5Notice: Undefined variable: registry in /var/www/u0328033/public_html/mymetab.ru/system/library/calculators.php on line 6 Fatal error: Call to a member function get() on a non-object in /var/www/u0328033/public_html/mymetab.ru/system/library/calculators.php on line 6
  24. теперь: Notice: Undefined property: Cart::$load in /var/www/u0328033/public_html/mymetab.ru/system/library/cart.php on line 172 load насколько я понимаю в версии Pro не работает, там автолодер:
×
×
  • Створити...

Important Information

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