通过清心醉

magento开发|magento建站|深入理解magento之分类产品筛选器

在magento后台管理分类,如果打开了magento指定的分类,可以查看当前分类内的产品信息,如果点击了筛选器,就会列出所有的产品列表
因为一个系统2个类型的网站店铺,所以要修改magento筛选的功能.
在magento/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tab/Product.php块文件里.

有这么一个方法:
protected function _prepareCollection()
{
if ($this->getCategory()->getId()) {
$this->setDefaultFilter(array(‘in_category’=>1));
}
$collection = Mage::getModel(‘catalog/product’)->getCollection()
->addAttributeToSelect(‘name’)
->addAttributeToSelect(‘sku’)
->addAttributeToSelect(‘price’)
->addStoreFilter($this->getRequest()->getParam(‘store’)) //获取的店铺ID
->joinField(‘position’,
‘catalog/category_product’,
‘position’,
‘product_id=entity_id’,
‘category_id=’.(int) $this->getRequest()->getParam(‘id’, 0),
‘left’);
$this->setCollection($collection);

if ($this->getCategory()->getProductsReadonly()) {
$productIds = $this->_getSelectedProducts();
if (empty($productIds)) {
$productIds = 0;
}
$this->getCollection()->addFieldToFilter(‘entity_id’, array(‘in’=>$productIds));
}

return parent::_prepareCollection();
}
上面的红字那行,自己写个获取站点店铺的方法,就可以完整的实现只提取当前店铺的产品!

切记:获取的店铺store必须为数字

关于作者

清心醉 administrator