Ответы пользователя по тегу OpenCart
  • Не заходит в админку OpenCart?

    @Levitskyi
    Столкнулся сейчас с этой проблемой на последних версиях Opencart.

    Что имею:

    1) Локальный сервер Open Server (OSPanel), на котором уже побывали все возможные версии опенкарта и его сборок, и никогда подобного не было.

    2) Установил Opencart "Русская сборка" 3.0.3.8 (rs.2) скачанный с официального сайта сборки (opencart-russia.ru) - войти в админку не смог: если пароль не верный - пишет об этом, если же пароль правильный - страница просто перезагружается без каких-либо уведомлений и снова просит ввести логин/пароль. Приэтом меняется user_token.

    3) Установил ocStore 3.0.3.7 - абсолютно всё тоже самое.

    4) Рядом стоящие опенкарты и оксторы с версиями 3.0.3.6 и ниже работают без проблем.

    5) Сходу проблему не понял, нагуглил что надо попробовать поменять строчку
    date_default_timezone_set($config->get('date_timezone'));

    на
    date_default_timezone_set('America/Chicago');

    в файле system/framework.php

    После этого заработало. Но это всё-таки не решение.

    6) Вернул обратно и стал смотреть дальше.

    Переключил версию php с с 7.3.9 на 7.4.5 и всё заработало само.

    Удивился, построчно сравнил php.ini обеих версий - различий связанных с датами и зонами не нашел.
    Сравнил phpinfo() обеих версий - тоже всё идентично: "date.timezone Europe/Moscow"

    В общем, не понял с чем это связано, главное что работает.

    Полезные ссылки:
    [SOLUTION] OC 3.0.3.7 Timezone Issue
    Can't login to admin panel
    Ответ написан
    Комментировать
  • Почему созданная тема не применяется в opencart 3?

    @Levitskyi
    Просто скопировать тему в другой каталог - недостаточно.

    Нужно пройтись по всем файлам темы и изменить все пути содержащие "default", названия классов содержащие "Default" на свое имя темы. Аналогично с ключами настроек и языковыми файлами.

    Если все это сделано - то нужно перейти в Расширения -> Шаблоны и напротив своей темы нажать Установить.

    Затем войти в настройки темы и установить статус Включено.

    После этого тема будет доступна к выбору.
    Ответ написан
    Комментировать
  • Как сделать свои способы оплаты в в OpenCart версия 3.0.3.1?

    @Levitskyi
    1) Можно сделать один или несколько клонов какого-либо стандартного способа оплаты, например "Оплата при доставке". Нужны базовые знания программирования. В сети полно пошаговых инструкций.

    2) Можно скачать уже готовые клоны оплат, есть как на русскоязычных маркетплейсах так и на официальном opencart.com

    3) Воспользоваться бесплатным модулем который позволяет создавать "виртуальные" способы оффлайн оплат без созданий клонов.

    4) Воспользоваться одним из десятков платных модулей, которые позволяют создавать "виртуальные" способы оффлайн оплат. Плюсом будет то, что они как правило умеют не только создавать способы оплат, но и показывать/скрывать их в зависимости от условий, например показать такую-то оплату если сумма больше ххх руб, скрыть такую-то оплату если выбрана такая-то доставка и тд и тп.
    Ответ написан
    Комментировать
  • Как сделать "И" фильтр OpenCart?

    @Levitskyi
    У Opencart 3 формирование запроса в базу с учетом фильтра происходит в файле catalog/model/catalog/product.php в методе public function getProducts($data = array())

    Но проще воспользоваться готовыми решениями (бесплатно):
    Вариант один или Вариант два
    Ответ написан
    Комментировать
  • Как скрыть блок в Опенкарт 3?

    @Levitskyi
    Никаких проблем с изменениями стилей в Опенкарте нет, если что-то не работает то это 90% ваша ошибка.
    1) Убедитесь что ваши стили находятся последними в очередности. Т.е. если вы применяете свой стиль, а затем подключается стандартная css Опенкарта - она перекроет ваш стиль.
    2) Убедитесь что после вашего стиля нет инлайн стилей которые перекрывают ваш.
    3) Убедитесь что стили блока не изменяются из js скриптов.
    4) Попробуйте для теста указать display: none !important; - если это сработает, см. пункты 1,2,3.
    5) Если есть возможность - скиньте ссылку. Уверен ваша проблема решается секунд за 60.
    Ответ написан
  • Как в opencart добавить автоизменение курса валют по нацбанку Беларуси?

    @Levitskyi
    Если не найдете готового модуля, то в самом простом случае:

    1) Пишете простой php скрипт, который получает курс валют и записывает его в базу данных
    2) Добавляете этот скрипт в задачу CRON (для автоматического обновления курса валют ежедневно)

    ЛИБО

    1) Исправляете файл admin/model/localisation/currency.php (Opencart 3) под свой банк

    Подсказки:

    1) Получить курс можно либо по API (предпочтительно), либо парсить страницу, получив ее с помощью curl или даже file_get_contents()

    2) Если не ошибаюсь, то API нацбанка - https://www.nbrb.by/apihelp/exrates/sample

    3) В базе данных магазина курсы валют хранятся в таблице "oc_currency" (Opencart 3)

    4) Файл который обновляет курс валют - admin/model/localisation/currency.php (Opencart 3)
    Ответ написан
    Комментировать