2016-09-19 6 views
0

У меня проблема с использованием prestashop с блочным модулем, язык по умолчанию моего магазина - французский (id_lang = 1).Prestashop blocklayered reloadContent() возвращает неверный язык

Ниже перечислены шаги, необходимые для устранения ошибки: Я перехожу на английский (id_lang = 4) и перейдите на страницу со списком продуктов, все продукты написаны на английском языке, здесь нет проблем. Затем, каждый раз, когда я пытаюсь использовать блочные фильтры, все возвращенные результаты написаны на французском, а не на английском.

Я добавил var_dumps в заголовок и в product-list.tpl, чтобы увидеть значение $ cookie-> id_lang. Они оба установлены на 4 (английский язык). После использования blocklayered у меня все еще есть id_lang до 4 в заголовке BUT, тот, который находится в списке продуктов, теперь установлен в 1, который является французским id_lang. версия

PS: 1.6.1.0

Blocklayered версия: 2.1.3

ответ

0

Функция reloadContent() в /modules/blocklayered/blocklayered.php вызывает следующую функцию:

ajaxCall() in /modules/blocklayered/blocklayered.php

Эта функция использует $ cookie-> id_lang для извлечения текущего идентификатора языка, попробуйте отладить значение этой переменной.

Вы также можете попробовать заменить его на $ this-> context-> language-> id, это может исправить вашу проблему.

+0

Я попытался пройти весь код, и я понятия не имею, почему он вызывает функцию 'Tools :: switchLanguage()'. Код использует 'Tools :: getValue ('id_lang')' (который в этом случае является '$ _GET ['id_lang']'. – BobbyGhetto

Смежные вопросы