Русская сборка OpenCart 4.0.2.1 - Релиз

Тема в разделе "Новости и объявления", создана пользователем Romans, 19 апр 2023.

  1. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.472
    Симпатии:
    822
    Рад сообщить Вам о выходе релиза OpenCart 4 - Русская сборка

    Релиз v 4.0.2.1 можно скачать по ссылке
    Последняя версия сборки Version 4.0.2.1 (rs.1)
    Дата исправлений 19.04.2023


    Что же изменено по сравнению с оригинальной версией Opencart ?
    • Русский язык для витрины и административной части магазина
    • Русские города и области на русском.
    • Все города и регионы стран не входящих в "СНГ" удалены.
    • Переведены все статусы склада, заказов, возвратов.
    • Правка seo_url.php на предмет более корректной работы ЧПУ
    • Автогенерация SEO URL (ЧПУ) при создании товара в админке
    • Форма обратной связи и страницы регистрации "подготовлены" к закону 152-ФЗ
    • Устранены некоторые ошибки мешающие работать и правка стилей для корректности
    • Модули по умолчанию в фильтре расширений.
    • Отключение рекламы в списке расширений.
    • Добавлено уведомление о варезе при установке расширения.
    • Добавлено уведомление перед обновлением.
    • Сделано ЧПУ для url поиска
    • Поле Компания скрыто в оформление заказа
    • еще некоторые ошибки мешающие пользоваться и тестировать
    Что нового по сравнению с предыдущим релизом 4.0.1.1 ?
    Работает с PHP 8.2
    Изменен используемый роут . (точка) вместо использования | для совместимости с некоторыми платежными шлюзами.
    Другая логика работы способов оплаты.
    Устранены многие ошибки и прочие кооректировки. (> 200 различных изменений и фиксов) Более подробно в истории изменений https://github.com/opencart/opencart/releases/tag/4.0.2.0
    .


    В OpenCart 4 Русская сборка сохранена полная совместимость с модулями и темами от OpenCart 4

    Об ошибках данного релиза просьба писать в данной теме.

    Вопросы "как установить", "а как мне сделать" просьба задавать в другом разделе или теме форума.

    Инструкция по установке находится в разделе Документация

    P.S Всем хороших тестов и внедрений !!!

    Напоминаю, что версия OpenCart 4 на данный момент не подходит для "рабочих магазинов", (точнее для людей не способных устранить ошибки) так как еще осталось много ошибок, нет необходимых модулей и тем.
     
    Последнее редактирование: 20 апр 2023
    Ален, Vlad, karpov и ещё 1-му нравится это.
  2. Laint

    Laint Новичок

    Сообщения:
    4
    Симпатии:
    0
    При попытке загрузить Version 4.0.2.1 (rs.1) - браузер выдает сообщение: "вероятная угроза безопасности".
     
  3. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    От браузера зависит. Но всегда можно скопировать ссылку и открыть в отдельной вкладке, тогда скачивание происходит.
     
  4. Laint

    Laint Новичок

    Сообщения:
    4
    Симпатии:
    0
    Спасибо, получилось
     
  5. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Пожалуйста
     
  6. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Если у вас проблема с переключением языков, то лечится она вроде следующим образом

    В файле /www/system/library/language.php

    Добавляем метод

    PHP:
    public function setCode($code)
    {
        
    $this->code $code;
    }
    В файле /www/admin/controller/startup/language.php

    Добавляем перед строкой

    PHP:
    $this->language->load('default');
    Строку

    PHP:
    $this->language->setCode($language_info['code']);
    В файле /www/catalog/controller/startup/language.php

    Добавляем перед строкой

    PHP:
    $this->load->language('default');
    Строку

    PHP:
    $this->language->setCode($language_info['code']);
     
    Romans, karpov и Ravilr нравится это.
  7. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.534
    Симпатии:
    246
    Лечится, но не до конца. К сожалению, это не решает проблему перевода модуля, если есть в нем только перевод для одного языка.
     
  8. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.534
    Симпатии:
    246
    Возможно так для модулей

    \system\library\language.php

    после
    Код:
    $file = $this->path[$namespace] . $code . substr($filename, strlen($namespace)) . '.php';

    вставить
    PHP:
    if (!is_file($file)) {
        
    $file $this->path[$namespace] . 'en-gb' substr($filenamestrlen($namespace)) . '.php';
    }


     
  9. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    А вот это вы неправильно делаете. Если у модуля нет какого-то файла локализации, то, как и в предыдущих версиях, нужно просто копировать файлы локализации для соответствующего языка.
     
  10. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.534
    Симпатии:
    246
    В предыдущих версиях не нужно было копировать. Если небыло в модуле русского языка, то отображались из en-gb переводы. А теперь просто пустые поля. Поэтому подумал о таком изменении.
     
  11. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Посмотрел код в 3-ке. Там логика чуть иная. Вначале загружается дефолтный язык сборки, если такой существует, а потом поверх остальное. В коде 4-ки сделана попытка убрать зашитый en-gb. Чтобы дефолтный язык был дефолтным из настроек магазина, а остальные загружались поверх. Но что-то посмотрел код 4-ки, там чтобы это исправить, скорее всего, нужно больше рефакторить. Вполне возможно, что в следующей сборке это исправят. Поэтому, фиг знает, возможно и того кода, который описал, может хватить. Тем более, что добавить файлик с локализацией не так уж сложно))
     
  12. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.534
    Симпатии:
    246
    В том то и дело, будет Даниель это исправлять или нет. А копировать сначала язык, потом грузить итд, выходит за рамки 4-й версии, где по идее, всё только через админку.

    Решение совсем плохое?? Вроде не вижу проблем с тем, что если нет нужного языка, брать с en-gb , что в принципе во многих бесплатных модулях с опенкарт.ком является по умолчанию.

    А так получается все по кругу, люди качают, надеясь что хоть что то увидят, а в итоге видят пустоту в переводе. Думают что виновата сборка. Качают с опенкарта, устанавливают, вроде норм. Потом добавляю язык и опять тоже самое. итд..
     
  13. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Нууууу. Исправлять-то всё равно придётся, так как другие будут жаловаться, что стандартная сборка только дефолтный для магазина язык нормально подгружает.

    С одной стороны так. С другой тут, наоборот, большая часть модулей поддерживает только русский язык по умолчанию (если не открывать офф сайт). А если, скажем, в сайте магазина стоит Казахский или Белорусский язык, то, от en-gb, как говорится, "ни холодно / ни жарко". Поэтому тогда уж два языка подрубать. Один для модулей с офф сайта и второй для рушных модулей.
     
  14. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.534
    Симпатии:
    246
    Почему? Не совсем понял.
     
  15. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Скажем, существует Белорусский сайт. У него админка и пользовательская часть по умолчанию в белорусском языке. Для сайта приобретается модуль только с ру локализацией. Белорусской локализации по умолчанию в модуле нет? Нет. Латиница есть? Нет. Только ру часть. Соответственно, модуль отобразится без какого-либо текста локализации
     
    karpov нравится это.
  16. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.534
    Симпатии:
    246
    Теперь понял. Так как русский язык великий и могучий, проверяем сначало его, есть ли перевод ру, и если нет его, то подкючаем энг. Если и энг нету, то пусто.
     
  17. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Что-то типо этого.))
     
  18. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.534
    Симпатии:
    246
    PHP:
    // Проверяем доступность файла перевода           
    if (!is_file($file)) {
        
    $file $this->path[$namespace] . 'ru-ru' substr($filenamestrlen($namespace)) . '.php';
        
        if (!
    is_file($file)) {
            
    $file $this->path[$namespace] . 'en-gb' substr($filenamestrlen($namespace)) . '.php';
        }
    }
     
    devimirochnik и Ravilr нравится это.
  19. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Вопрос из разряда "что-то пошло не так". Поставил демку 4.0.2.1 в Chrome вообще никак не входит в админку (просто редиректит обратно в форму входа), в остальных браузерах без проблем.
     
  20. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    907
    Симпатии:
    125
    Если чего, то ошибка в сессионной переменной. Почему-то в хроме это глючит. Фиксится следующим образом

    Открываем файлик admin/controller/common/login.php

    Находим строчку

    PHP:
    $this->session->data['login_token'] = oc_token(32);
    И заменяем её строками:

    PHP:
    if ( !isset($this->session->data['login_token']) ) {
        
    $this->session->data['login_token'] = oc_token(32);
    }
    Суть таже (защита через токены), но в таком случае не падает и токены не пересоздаются при каждом открытии страницы, а доступны в рамках одной сессии.
     
    Romans нравится это.