Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

В контроллере модуля popup передается неверный код языка в config_language_id


bikoff

Recommended Posts

Здравствуйте!

Дано: ocStore 2.1.0.2.1 + Journal2. В теме есть модуль Popup. У сайта прописаны 2 языка (русский, украинский).

 

Сайт работает с модулем мультиязык. Раньше при вызове popup, находясь на украинской версии сайта, открывался popup с укр текстом. 

 

Недавно заметили, что сейчас на всех версиях языка выдается русский в окне Popup. Проверили какая переменная приходит и действительно, 

$this->config->get('config_language_id')

Всегда = 1, т.е. русский. Попап открывается с помощью аякса. Но почему он берет не текущий язык, а язык по-умолчанию? 

 

В controller прописано

 $this->data['title'] = Journal2Utils::getProperty($module_data, 'title.value.' . $this->config->get('config_language_id'));

И если просто поставить 4 вместо language_id, то у в нашем случаи выведется укр язык. 

 

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

Надіслати
Поділитися на інших сайтах


Попробуйте следующее.
в файл catalog\model\localisation\language.php добавьте внизу где-нибудь вот такую функцию:

	public function getLanguageByCode($code) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "language` WHERE code = '" . $this->db->escape($code) . "'");

		return $query->row;
	}

 

и в вашем контроллере тогда вот так:

$this->load->model('localisation/language');

$cur_language_id = $this->config->get('config_language_id');

$cur_language = $this->model_localisation_language->getLanguageByCode($this->session->data['language']);
if ($cur_language) {
	$cur_language_id = $cur_language['language_id'];
}

$this->data['title'] = Journal2Utils::getProperty($module_data, 'title.value.' . $cur_language_id);

 

  • +1 2
Надіслати
Поділитися на інших сайтах

1 минуту назад, nikifalex сказал:

тут эта тема вызывает ненависть и желание убивать.

да, этот Journal - просто атас, я бы никогда не взялся его поддерживать..

  • +1 2
Надіслати
Поділитися на інших сайтах

40 минут назад, bikoff сказал:

Раньше при вызове popup, находясь на украинской версии сайта

ранше работало, потом что то сделали и перестало работать, вот ищите то что вы что то сделали, может модуль ставили, может еще что

Надіслати
Поділитися на інших сайтах

1 час назад, Prooksius сказал:

да, этот Journal - просто атас, я бы никогда не взялся его поддерживать..

Да, давно это было) В 2016. Пока что-то нет желания все по новой начинать) Может еще годок протянет. Попробую ваше предложение. Спасибо!

Надіслати
Поділитися на інших сайтах


1 час назад, Venter сказал:

ранше работало, потом что то сделали и перестало работать, вот ищите то что вы что то сделали, может модуль ставили, может еще что

Логично) Но не понятно сколько времени прошло и куда смотреть. Много воды утекло слишком. Вот и подумал, что может кто подскажет) 

Надіслати
Поділитися на інших сайтах


2 минуты назад, Prooksius сказал:

значит либо в вашей версии в сессии язык не сохраняется, либо что-то изменено..

Просто сам сайт работает правильно. Язык выбранный работает через весь сайт. Но не там где через Ajax вызывается Popup. Будем искать. Спасибо!

Надіслати
Поділитися на інших сайтах


Тему закрываю. Потестировали в других браузерах и все работает. Где-то закешировалось в Chrome эта SESSION и выдавало постоянно "1". Спасибо большое за оперативную помощь! Аж отлегло)) Хорошего вечера!

Надіслати
Поділитися на інших сайтах


Даже не так. Видимо POPUP берет language_id из конфига Админки (если в админке язык "1", то и будет 1.), когда выполнен вход. Вот такое вот наблюдение.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.