Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

amfsota

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

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

  • Посещение

Все публикации пользователя amfsota

  1. Правлю файл: /public_html/mymetab.ru/system/library/cart.php (нужно, чтобы расчёт стоимости товара шёл по алгоритмам калькуляторов) Есть своя библиотека: /public_html/mymetab.ru/system/library/calculators.php (здесь собраны методы с разными калькуляторами) Нужно использовать методы из calculators.php в cart.php. А зарегистрировать класс calculators не получается. Версия 2.1.0.1.10. Помогите, пожалуйста.
  2. Да бог с ним с ООП... Подскажите как профиксить?
  3. Очень интересно. Как всё непросто с этим веб программированием, то ли дело на десктопе, любая библиотека, даже стороннего приложения прилепляется везде по одинаковому. Решение-то какое-нибудь есть? Почему этот же код прекрасно работает и в модулях админки и каталога, а здесь вдруг нет свойсва regisrty?
  4. Я опять тут. с подключением библиотеки из контроллеров и моделей разобрался. Сейчас нарисовалась проблема, как подключить класс из системной библиотеки. конструкция постом выше не работает. Я из системной библиотеки 'cart.php' пытаюсь подключиться к своей таким методом: $this->registry->set('calculators', new Calculators($this->registry)); В итоге получаю ошибку: Notice: Undefined property: Cart::$registry in /var/www/u0328033/public_html/mymetab.ru/system/library/cart.php on line 39 Fatal error: Call to a member function set() on a non-object in /var/www/u0328033/public_html/mymetab.ru/system/library/cart.php on line 39
  5. amfsota

    кэширование базы opencart

    Спасибо, если база не ограничивает доступ значит что-то не так в коде. Буду копать.
  6. amfsota

    кэширование базы opencart

    Так вот и я думаю, что чушь. Дело в том, что у меня 2 запроса подряд (раньше это был один запрос, я его специально разделил, чтобы понять где ошибка) с одним и тем же product_id: из одной переменной. Первый запрос пишет в базу данные, второй-нет, как будто стоит запрет на запись или чтение из поля 'parametres'. Может ли mysql ограничивать доступ к определённым полям таблицы? Наверное версию с кешированием запросов от Opencart надо отбросить...
  7. amfsota

    кэширование базы opencart

    именно к базе со страницами всё в порядке проблема с запросами, то работают, то - нет причём выборочно, одни поля пишет и читает, другие - нет
  8. amfsota

    кэширование базы opencart

    Это каждый запрос к базе так обслуживать?
  9. amfsota

    кэширование базы opencart

    Да Pro Версия 2.1.0.1.10 кеш менеджер включен в процессе тестов постоянно обновлял и системный кеш и картинки - без толку. Сейчас все запросы работают и из админки и из каталога. А когда глюки начинаются, только phpmyadmin может вносить изменения в базу.
  10. amfsota

    кэширование базы opencart

    Похоже мы с Вами в другом форуме общаемся))
  11. amfsota

    кэширование базы opencart

    Да нет, это я правил строку, и пропустил кавычку, думал кодировка в json барахлит, и тупо в запросе пробовал так: $this->db->query("UPDATE " . DB_PREFIX . "product SET parametres='ggggggg' WHERE product_id = '" . (int)$product_id . "'"); Один пень не пишет. Я в отчаянии. что делать - не знаю. Кроме этого даже чтение из базы по нулям из этого поля как будто его нет, а он ЕСТЬ.
  12. Я опять тут за помощью. Насколько я знаю у opencart pro есть кэширование запросов в базу. Похоже я напоролся с этим кэшированием на геморрой. У меня то читаются и пишутся поля в базу, то перестают это делать, непонятно почему. $calcjson=json_encode($data['calcparams']); $this->db->query("UPDATE " . DB_PREFIX . "product SET calculator='" . $this->db->escape($data['selected-calculator']) . "' WHERE product_id = '" . (int)$product_id . "'");// это поле пишется и читается номрально $this->db->query("UPDATE " . DB_PREFIX . "product SET parametres='" . $this->db->escape($calcjson) . " WHERE product_id = '" . (int)$product_id . "'");// это поле сейчас не пишется и не читается, вчера и сегодня утром читалось без проблем Кто-нибудь сталкивался с такой проблемой?
  13. Спасибо, нашёл. Метод edit и validateForm - то что нужно.
  14. УРАААА!!!!! Целый день бьюсь. $this->registry->set('mylibrary', new Mylibrary($this->registry)); Так заработало, может кому надо будет. Всё, тему можно закрывать.
  15. Понятно... https://github.com/opencart/opencart/issues/3469 В opencart.pro 2 сделали автолоудер для всех библиотек, теперь $this->load->library('cart') не работает Чё делать совсем не пойму, ни один пример из инета не работает. А так надо сделать свою библиотеку. Не хочется плодить кучу дублирующегося кода для админки и каталога. Ребята, может кто всё же знает как на новом движке подключать свои библиотеки?
  16. после нажатия сохраняются данные в базе мне нужно сохранить свои данные из своих полей, поэтому и нужен обработчик может, конечно, я что-то недопонимаю...
  17. Понимаю, что вопрос может показаться глупым, но всё же. Правлю товар в админке url: "/admin/index.php?route=catalog/product/edit&token=CxwV19m7NTJGM8tVMegCMeYaEw1Hp79p&product_id=1" На странице - форма с кнопкой: <button type="submit" form="form-product" data-toggle="tooltip" title="" class="btn btn-primary" data-original-title="Сохранить"><i class="fa fa-save"></i></button> Вопрос кто обрабатывает событие нажатия на кнопку. Понятно, что данные с формы летят на сервер. Думаю, что обработчик в файле admin/catalog/product.php, но никаких функций по сохранению данных там нет. Помогите, пожалуйста, кто знает.
  18. Спасибо за ссылки, но не получается ничего. Блин что такое, ничего понят не могу??? <?php class ControllerCalculatorsMain extends Controller { public function start() { $this->load->library('cart');//ЗДЕСЬ ОШИБКА!!! Что неправильно, подключаю ведь системную библиотеку. $json = array(); $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } ?>
  19. Ничего не получается с библиотекой. Что делал: 1. Создал контроллер "catalog/controller/calculators/main.php" <?php class ControllerCalculatorsMain extends Controller { public function start() { $this->load->library('calculators/testcalc'); $json = array(); $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } ?> 2. Создал библиотеку с классом: "system/library/calculators/testcalc.php" <?php class Testcalc { public function calculate($data) { return $data; } } ?> 3. Если в представлении происходит событие ajax-ом делается post запрос в контроллер: function recalc() { msg="quantity="+document.getElementById("input-quantity").value+"&"+($('#calculator').serialize()); $.ajax({ url: 'index.php?route=calculators/main/start', type: 'post', data: msg, dataType: 'json', beforeSend: function() { }, success: function(json) { alert ('SUCCESS'); if (json['error']) { alert (json['error']); } if (json['success']) { document.getElementById("input-quantity").value = json['quantity']; document.getElementById("price").innerHTML = json['total']+' руб.<small> ('+json['price'] + ' р./шт)</small>'; } }, error: function(xhr, ajaxOptions, thrownError) { alert ('ERROR'); } }); } Проверяем. В итоге ошибка 'ERROR' Теперь комментируем эту строку в контроллере : "$this->load->library('calculators/testcalc');" Опять запускаем, всё ОК, сообщение: 'SUCCESS' Вывод - не подключается библиотека. По какой причине понять не могу. Пробовал подключать системные библиотеки - то же самое. Помогите, пожалуйста, уже запарился пробовать разные варианты.
  20. Прошу прощения за тупость. Не нашёл там явного указания на конкретные файлы. Они регистрируются автоматически? Просто все файлы из директории library? Вот здесь? // Autoloader function library($class) { $file = DIR_SYSTEM . 'library/' . str_replace('\\', '/', strtolower($class)) . '.php'; if (is_file($file)) { include_once(modification($file)); return true; } else { return false; } }
  21. спасибо за ответы дело в том, что системные библиотеки где-то подключаются один раз и дальше их использовать в любом контроллере можно так: this->documents->hello(), без отдельной загрузки. Вопрос где происходит это подключение (в каком файле), никак найти не могу.
  22. Здравствуйте, уважаемые форумчане. Требуется создать в папке system/library собственную модель, например "system/library/documents.php" 1. Нужно ли где-нибудь в движке её регистрировать, если да, то как? 2. Как подключать модель из контроллера? "this->documents->hello()" так правильно?
×
×
  • Создать...

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

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