Tôi đã làm việc trên một mô-đun tùy chỉnh cho Magento (ver. 1.8.0.0) cho thấy danh sách các sản phẩm liên quan của một sản phẩm nhất định.Điều hướng lớp Magento trên bộ sưu tập sản phẩm tùy chỉnh
Để đạt được điều này, tôi đã tạo mô-đun của riêng mình bằng cách ghi đè lên lớp Mage_Catalog_Block_Product_List
.
Về cơ bản đây là cách hoạt động:
Từ một bộ điều khiển tôi bắt các sản phẩm entity_id
và tôi lưu trữ các sản phẩm trong registry để tôi có thể sử dụng nó bên trong khối văn bản tùy chỉnh của tôi được gọi là list.php
đây là phương pháp mà lấp đầy bộ sưu tập sản phẩm:
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;
}
tôi cũng đã thêm như sau trong .xml bố trí của mô-đun tùy chỉnh của tôi để đảm bảo điều hướng lớp cho thấy:
012.<reference name="left">
<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
</reference>
Điều hướng lớp hiển thị, nhưng có vẻ như nó đang lấy tất cả sản phẩm làm bộ sưu tập thay vì tập hợp tùy chỉnh được sử dụng trong phương pháp tôi đã thêm ở trên.
Tôi cũng biết rằng tôi có thể nhận được các cửa hàng/lớp sử dụng $layer = Mage::getSingleton('catalog/layer');
Lớp lớp này cũng có một phương pháp gọi là prepareProductCollection và setCollection nhưng đối với một số lý do tôi không thể có được nó để làm việc.
Bất kỳ trợ giúp nào về điều này?
Về cơ bản, tôi muốn có điều hướng lớp cho các sản phẩm trong bộ sưu tập tùy chỉnh.
Xin cảm ơn,
Phương pháp thiết lập này là gì và bạn gọi nó ở đâu? – easymoden00b