특정 제품의 관련 제품 목록을 보여주는 Magento (버전 1.8.0.0) 용 사용자 정의 모듈을 작업 해 왔습니다.사용자 정의 제품 컬렉션의 Magento 계층 형 네비게이션
이것을 달성하기 위해 나는 Mage_Catalog_Block_Product_List
클래스를 덮어 씀으로써 내 자신의 모듈을 만들었습니다.
컨트롤러에서 나는이 제품 entity_id
을 잡아 그래서 내가
list.php라고 내 사용자 정의 작성 블록 내에서 사용할 수있는 레지스트리에서 제품을 보관 : 그것이 작동하는 방법 기본적으로 여기
입니다 여기에 제품 컬렉션을 채우는 방법이다 : 나는 또한 확인하기 위해 내 사용자 지정 모듈의 레이아웃 .XML에 다음을 추가
protected function _getProductCollection()
{
if (is_null($this->_productCollection)) {
$prod = Mage::registry('chosenproduct');
$this->_productCollection = $prod->getRelatedProductCollection()
->addAttributeToSelect('required_options')
->addAttributeToFilter(array(array('attribute'=>'accessory_manufacturer','neq'=>false)))
->addAttributeToSort('position', 'asc')
->addStoreFilter()
->setPageSize(30)
->setCurPage(1);
;
$this->_addProductAttributesAndPrices($this->_productCollection);
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($this->_productCollection);
$this->setProductCollection($this->_productCollection);
}
return $this->_productCollection;
}
가 확인 계층 탐색을 보여줍니다
<reference name="left">
<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
</reference>
위와 같은 계층 적 탐색이 표시되지만, 위에서 추가 한 방법에서 사용되는 사용자 지정 컬렉션 대신 모든 제품이 컬렉션으로 간주됩니다.
나는 또한 내가이 $layer = Mage::getSingleton('catalog/layer');
레이어 클래스는 prepareProductCollection와 setCollection라는 방법을 가지고 있지만 어떤 이유로 나는 그것이 동작하지 않습니다 사용 카탈로그/계층을 얻을 수 있다는 것을 알고.
어떤 도움이 필요합니까?
기본적으로 사용자 지정 컬렉션에있는 제품의 계층 형 탐색을 원합니다.
감사합니다.
이 설정 방법은 무엇이며 어디에서 호출합니까? – easymoden00b