2016-09-19 4 views
0

prestashop을 사용하여 blocklayered 모듈에서 문제가 발생했습니다. 내 가게의 기본 언어는 프랑스어 (id_lang = 1)입니다.Prestashop blocklayered reloadContent()가 잘못된 언어를 반환합니다.

여기 오류로 이동하는 단계는 다음과 같습니다. 영어 (id_lang = 4)로 전환하고 제품 목록 페이지로 이동하면 모든 제품이 영어로 작성되며 문제는 없습니다. 그런 다음 차단 된 필터를 사용하려고 할 때마다 반환되는 모든 결과가 영어 대신 프랑스어로 작성됩니다.

헤더와 product-list.tpl에 var_dumps를 추가하여 $ cookie-> id_lang 값을 확인했습니다. 그들은 모두 4 (영어)로 설정됩니다. blocklayered 사용 후, 나는 여전히 헤더에 4까지 id_lang을 가지지 만, product-list에있는 것이 이제는 id_lang 인 1로 설정됩니다.

PS 버전 : 1.6.1.0

Blocklayered 버전 : 2.1.3

답변

0

다음 함수 호출의 /modules/blocklayered/blocklayered.php reloadContent() 함수 :

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

이 함수는 $ cookie-> id_lang을 사용하여 현재 언어 ID를 가져오고이 변수의 값을 디버깅합니다.

$ this-> context-> language-> id로 바꾸면 문제가 해결 될 수도 있습니다.

+0

코드를 모두 살펴 보았는데 왜 Tools :: switchLanguage() 함수를 호출하는지 알 수 없습니다. 코드는'Tools :: getValue ('id_lang')'(이 경우'$ _GET [ 'id_lang']')를 사용하고 있습니다. – BobbyGhetto

관련 문제