2011-03-10 2 views
2

1.4 이전 Magento 사이트를 1.4.1.2 버전으로 업그레이드하는 과정에서 문제가 발생했습니다. 제품 목록보기 페이지에서 모든 제품을 볼 수있는 옵션은 10 개 (10 개 이상의 제품이있는 범주) 만 표시합니다. 다음은 시스템 구성의 카탈로그 섹션에서 몇 가지 관련 설정은 다음과 같습니다제품 목록 페이지의 limit = all 일 때 Magento 제품 수가 올바르지 않음

List Mode: Grid Only 
Products per Page on Grid Allowed Values: 8,16,32 
Products per Page on Grid Default Value: 8 
Allow All Products per Page: Yes 

레이아웃 파일 테마/레이아웃/catalog.xml에서 설정 한 명시적인 제한이 없습니다.

"limit"매개 변수가 허용 된 정수 값 (8,16,32) 중 하나로 설정되면 제품 목록보기에서 목록이 예상대로 작동합니다. 그러나 "limit = all"매개 변수를 사용하면 10 개의 제품 만 표시됩니다. (184 개) 제품 카테고리의 제품 목록 페이지에서 조회 할 firephp 확장자를 사용

, 나는 다음을 참조 : 나는 Mage_Catalog_Block_Product_List에 _getProductCollection() 메소드에서 검토 한

limit=16 
THEME/template/catalog/product/list.phtml: $this->getLoadedProductCollection()->count() returns 16 
THEME/template/catalog/product/list/toolbar.phtml: $this->getCollection()->getSize() returns 184 

limit=all 
THEME/template/catalog/product/list.phtml: $this->getLoadedProductCollection()->count() returns 10 
THEME/template/catalog/product/list/toolbar.phtml: $this->getCollection()->getSize() returns 184 

하지만 돈 ' 쿼리 제한은 어디서나 설정되어 있습니다. 이 제한이 10 인 경우 또는 "all"한도를 올바르게 얻는 방법은 무엇입니까?

업데이트

수()과의 getSize() 주제/템플릿/카탈로그/제품/list.phtml

limit=16 
THEME/template/catalog/product/list.phtml: $this->getLoadedProductCollection()->count() returns 16 
THEME/template/catalog/product/list.phtml: $this->getLoadedProductCollection()->getSize() returns 184 
THEME/template/catalog/product/list/toolbar.phtml: $this->getCollection()->getSize() returns 184 

limit=all 
THEME/template/catalog/product/list.phtml: $this->getLoadedProductCollection()->count() returns 10 
THEME/template/catalog/product/list.phtml: $this->getLoadedProductCollection()->getSize() returns 184 
THEME/template/catalog/product/list/toolbar.phtml: $this->getCollection()->getSize() returns 184 

이 단지 내 사용자 정의 테마에서 발생하는 서로 다른 값을 반환합니다. 테마를 "기본"패키지로 전환하면 limit = all 조건은 count() 및 getSize() 둘 다에 대해 184 개의 제품을 반환합니다. 내 사용자 지정 테마는 list.phtml에 약간의 마크 업/CSS 변경 만 있습니다 (PHP 코드는 동일합니다).

답변

0

호출기가 원인이었습니다. Pre-1.4 Magento 테마는 THEME/template/catalog/category/view.phtml의 일부 호출기 로직을 ​​활용했습니다. 1.4.x에서 호출기는 개정되었으며 카테고리보기 페이지에서 사용하기 위해 명시 적 제한을 설정해야합니다.

take-home 메시지는 "product_list_toolbar_pager"를 인스턴스화하는 경우 도구 모음에 사용 된 제한과 동일한 제한을 설정해야합니다.

+0

정확히 어떻게 수정했는지 말해 줄 수 있습니까? – Klettseb