COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

не работает Язык в OPENCART.PRO 2.X


Recommended Posts

 

Добрый день. Недавно купил у вас OPENCART.PRO 2.X и обновил его до редакции 2.1.0.1.8, шаблон стоит default.
Сейчас собираю мультимагазин и у меня не работают языки.
Т.е. у основного магазина стоит русский, а у второго на под домене мне надо поставить английский, в локализации ставлю, сайт добавляю, перехожу и вижу что сайт на русском. Так же пробовал его не добавлять в мультимагазин и происходит тоже самое с языком, у меня база sql одна.
как это можно исправить? так и должно быть? я думал что язык устанавливается в локализации для сайта и он будет сразу на выброном языке. по умолчанию стоит русский.

Ссылка на комментарий
Поделиться на других сайтах

без паники, такая функциональность присутствует и она работает

откройте вновь созданный сайт в другом браузере, в котором вы его еще не открывали или очистите браузерные куки и кэш

Ссылка на комментарий
Поделиться на других сайтах

Попробовал на 4 браузерах (Chrome, Opera, Safari, Firefox) два раза и не могу понять как такое происходит в первый раз в Opera показал правильно на под домене, на стольных не правильно. Во второй раз после очистки  куки и кэш показал правильно на Safari, остальные оставили язык домена.

Как такое может быть? как это исправить? 

может у меня что то не так, проверти сами  http://store-buy.ru/ основной на Английском,  http://test1bezpapki.store-buy.ru под домен на Русском.

Ссылка на комментарий
Поделиться на других сайтах

у вас все так

это в браузерах не так

дело в том, что при установке куки на домен, при запросе поддомена, будет использована по умолчанию кука родительского

 

Ссылка на комментарий
Поделиться на других сайтах

тогда получается мне надо использовать не поддомены а домены и данной проблемы не будет с языками?

Для поддоменов это проблема не решаема? Если оставить на поддоменах то все так и будет для пользователей сайта? 

Ссылка на комментарий
Поделиться на других сайтах

в общем - да

но если принципиально надо, то частично решается

в index.php

setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $request->server['HTTP_HOST']);

убиваем последний параметр

setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/');

но, например, на IE это не подействует, он сам добавляет точку перед доменом

и в нем, кстати, сессия для домена и поддоменов будет тоже одинаковая

Ссылка на комментарий
Поделиться на других сайтах

что-то подумал тут..

вот еще одно решение

в index.php перед строкой

if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages)) {

добавить

$lang_reset_cookie_name = 'language_reset_'.str_replace('.', '_', $request->server['HTTP_HOST']);
if (!isset($request->cookie[$lang_reset_cookie_name])) {
	setcookie('language', NULL, -1, '/');
	unset($session->data['language']);
	unset($request->cookie['language']);
	setcookie($lang_reset_cookie_name, 1, time() + 60 * 60 * 24 * 30, '/', $request->server['HTTP_HOST']);
}

в ИЕ, конечно, тоже работает

Ссылка на комментарий
Поделиться на других сайтах

  • 4 months later...

Ваше решение отлично работает с языком! Подскажите как с валютой можно поступить, она также остается на поддоменах та что указана для домена.

Ссылка на комментарий
Поделиться на других сайтах

43 минуты назад, danil.k сказал:

Подскажите как с валютой можно поступить

если вы про второе решение, то там же, где вставляли код для сброса language, в index.php или в Currency->__construct после объявления $this->request и $this->session

вставляете то же самое (ну в констракте используйте свойства класса вместо обычных переменных), но вместо language пишете currency

а если про частичное, первое решение, то в Currency->set() убирайте последний аргумент при вызове setcookie

в теории, должно работать, не проверял, извините

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.