2013-07-31 1 views
0

블록 막 모듈을 사용하는 경우 페이지를 변경하면 현재 페이지 매개 변수 (FrontController의 $ p)가 전역 적으로 업데이트되지 않는다는 것을 발견했습니다. 즉, 상대적으로 멋진 var는 pagination.tpl의 ul.pagination과 같은 일부 작은 영역에서만 사용할 수 있습니다. 이것은 아마도 모듈의 아작스 특성 때문일 수 있습니다.prestashop/blocklayered - 모든 페이지 구성 요소에 현재 페이지 값을 전파하는 방법?

그리고 그것은 끔찍합니다. 그 작은 덩어리와 모든 범주 tpl 구성 요소의 모든 지점 외부의 페이지 매김 데이터가 필요합니다. FrontController에 업데이트되지 않고 $ _GET 또는 $ _POST로 읽을 수없는 $ p var가 있기 때문에 사실 이렇게되어야합니다. 물론 분명히해야합니다. 적어도 그것은 게시되어야하며, 또는 onchange를 읽으려면 어떤 종류의 고리가 있어야합니다.

이것을 달성 할 방법이 있습니까?

감사합니다.

답변

1

$ p의 범위를 적어도 '확장'할 수있는 방법을 찾았습니다. pagination.tpl에서

가 가

업데이트 무슨 않도록 조심스럽게 아약스 onsuccess는 콜백, reloadContent()에 expecially에, blocklayered.js을 수정할 수 있습니다 div.pagination 박스, 발언권에 ul.pagination 포장 div.pagination-ul.pagination 대신 상자.

이렇게하면 div.pagination-box에서 업데이트 된 {$ p}을 얻을 수 있습니다. (물론 ul.paginationof에서도 마찬가지입니다.) 그래서 div.pagination-box에 OUTSIDE ul이라는 임의의 것들을 추가 할 수 있습니다.

같은 호를 가진 사람들을 도울 수 있기를 바랍니다.

어쨌든 모든 .tpl의 모든 청크에서 항상 업데이트 된 $ p를 갖는 것이 좋습니다.

누구든지 더 나은 해결책을 찾으면 여기에 게시하십시오.

관련 문제