как исправить, если языковой файл en-gb.php не работает только у администратора - PullRequest
0 голосов
/ 05 апреля 2019

У меня проблема в Opencart 3.0.2.0 во всех языковых файлах, показывающих их текст и переменную на странице и прекрасно работающих в админке, кроме en-gb.php. Пожалуйста, смотрите ниже изображение. enter image description here

Я попытался отладить, но не смог это исправить. Я также проверил файл модификации «хранилища», чтобы увидеть, не перезаписан ли какой-либо файл, но это один и тот же код.

вы можете видеть этот код ниже, уже написанный в en-gb.php, но значение его переменной не отображается ни на одной странице администратора.

$ _ ['code'] = 'en';

$ _ ['direction'] = 'ltr';

$ _ ['date_format_short'] = 'd / m / Y';

$ _ ['date_format_long'] = 'l dS F Y';

$ _ ['time_format'] = 'h: i: s A';

$ _ ['datetime_format'] = 'д / м / Г Ч: i: s';

$ _ ['decimal_point'] = '.';

$ _ ['тысяча_точек'] = ',';

1 Ответ

0 голосов
/ 05 апреля 2019

Вот шаги, которые я бы предпринял для устранения этой проблемы:

  1. проверьте настройки языка в админ -> система -> локализация -> язык. вот так это должно выглядеть http://joxi.ru/eAOYwZkU9EDEDm enter image description here

  2. проверьте настройки магазина opencart в admin -> system -> settings -> отредактируйте свой магазин и перейдите на вкладку local. это должно выглядеть так http://joxi.ru/nAyxya7FgGbGv2 enter image description here

  3. , затем проверьте редактор языка opencart в admin -> design -> language editor. должно выглядеть так http://joxi.ru/E2p1aYlS7VxVEA enter image description here

  4. если там все правильно, давайте проверим код. в admin / language / en-gb / en-gb.php. должно выглядеть так http://joxi.ru/V2VLwxqSdVqVyr enter image description here

  5. , затем проверьте, есть ли какие-либо изменения в языковом файле в system / storage / updates / admin / language / en-gb / en-gb.php (файл не должен существовать)

  6. если у вас установлен vqmod, я бы также проверил кеш в vqmod / vqcache /...

если все это правильно, нам нужно углубиться в ядро ​​OpenCart

  1. языковой файл eb-gb (который также является именем языкового каталога) в admin загружается контроллером admin / startup / startup.php в строке 27
$language->load($this->config->get('config_admin_language'));

так что вы можете начать с проверки этого кода, возвращая значение после него следующим образом:

$language->load($this->config->get('config_admin_language'));
//this will output everything that is currently in the languge ibject.
print_r($language);

это должно выглядеть так http://joxi.ru/l2ZRw70szkLLl2 enter image description here

Если он не возвращает массив, проблема может заключаться в том, что этот код загружен неправильно ИЛИ что результат где-то перезаписывается пустым массивом.

Если в вашем магазине есть модификации, вам нужно будет проверить систему / хранилище / модификации и найти любой код, который может делать что-то подобное

  1. если это правильно, есть еще одно место для проверки. в admin / event / language.php у вас могут быть некоторые проблемы. добавить этот код в строку 9
public function index(&$route, &$args) {
    foreach ($this->language->all() as $key => $value) {
        if (!isset($args[$key])) {
            $args[$key] = $value;
        }
    }
    // this will output the current values of the language object with the route name.
    echo $route;
    echo '';
    print_r($args);
    echo '
'; }

должно выглядеть так http://joxi.ru/DmBL9V6SJPWjWA enter image description here

если в какой-то момент после определенного маршрута, такого как common/footer, вы видите, что text_home пуст или отсутствует, вам необходимо проверить этот маршрут и его модификации и посмотреть, что там произошло.

  1. Если ничего из этого не помогло, отправьте нам билет по номеру https://dreamvention.ee/support, и я лично посмотрю.

Надеюсь, это поможет.

...