Недавно, 9 июля 2023 года, вышел очередной релиз OpenCart 4.0.2.2 и опять с целой кучей проблем, недоработок, багов и т.д. Видимо, в этом есть какой-то никому не известный замысел автора, но все уже начинают привыкать, что от выхода новой версии ничего хорошего ждать не стоит. Так и в этот раз, вышла полурабочая сборка без всяких пометки, что ее не стоит использовать для разработки реальных интернет-магазинов. Ведь пригодна она разве что для обучения и выявления багов.
Одна из проблем OpenCart 4.0.2.2 - невозможно изменить язык в панели администратора. Это уже стабильная проблема всей ветки начиная с 4.0.0.0, уже шестой релиз вышел, а язык до сих пор невозможно изменить. На официальном Github автора забрасывали "ишусами" и "пул-реквестами" по этому багу, но каждый раз, закрывая запрос, он говорит, что такой проблемы не существует. Конечно, для одноязычных сайтов такой проблемы не существует :)
Итак, какое решение проблемы? Оно простое, всего две правки. Благодаря одному из контрибуторов системы надеемся, что в новом релизе это проблема исчезнет навсегда, ведь комит с исправлением уже "замержили" в официальный репозиторий OpenCart.
Мы же объясним, что и где нужно править, чтобы язык в админке OpenCart 4.0.2.2 переключался без проблем:
1. Файл /admin/controller/startup/language.php
Найти строку
$code = $this->config->get('config_language');
и заменить на
$code = $this->config->get('config_language_admin');
2. Файл /system/config/admin.php
Найти строку
'view/*/before' => [
перед этой строкой добавить код
'language/*/after' => [
0 => 'startup/language.after',
1 => 'event/translation'
],
Вот такое простое решение проблемы. С нетерпением ждем стабильную версию OpenCart 4 и уже готовы разрабатывать нестандартные расширения для ваших интернет-магазинов на "четверке".