Magento 1.7展示了2个类别的产品

时间:2013-08-28 10:37:33

标签: php magento

我想创建一个显示2个(或更多)类别产品的块。我曾试图以多种方式做到这一点,但它们不起作用。

我是怎么做的:

/app/code/local/Mage/Catalog/Block/Product/Fulllist.php (与更改了_getProductCollection()函数的List.php相同:)

protected function _getProductCollection()
{
$_productCollection = Mage::getModel('catalog/product')
    ->getCollection()
    ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('category_id', array(
        array('finset' => '30'),
        array('finset' => '32'))
    )
        ->addAttributeToSort('created_at', 'desc');

        return $_productCollection;
}

然后,在我试图使用的一个CMS页面上:

{{block type="catalog/product_fulllist" template="catalog/product/list.phtml"}}

但这似乎不起作用,页面很清楚。我错过了任何一部分吗?或者有更简单的方法吗?

问候!

1 个答案:

答案 0 :(得分:0)

你好检查下面的代码

$collection = Mage::getModel('catalog/product')->getCollection(); 

$collection->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id=entity_id', null, 'left');

$collection->addAttributeToFilter('category_id', array('in' => array('finset'=>'30,31')));

$collection->addAttributeToSort('created_at', 'desc');

$collection->addAttributeToSelect('*');

return $collection;