使用自定义产品ID创建块`catalog / product_list`

时间:2016-11-16 17:30:39

标签: php magento

我在$ ids中有一些产品ID,我想在磁盘默认目录/ product_list块中渲染它们,

echo $this->getLayout()
                ->createBlock('catalog/product_list', '', 
                    array(
                        'template'=> 'catalog/product/list.phtml' ,
                         "product_id" => $ids)
                )->toHtml();

这不起作用

echo $this->getLayout()
                ->createBlock('catalog/product_list', '', 
                    array(
                        'template'=> 'catalog/product/list.phtml' ,
                         "product_id" => $ids)
                )->setProductId($ids)->toHtml();

换句话说,我想要这个块的代码版本

{{block type="catalog/product_list" product_id="1,2,3" template="catalog/product/list.phtml"}}

1 个答案:

答案 0 :(得分:1)

我没有对此进行测试,但您可以尝试实例化该块并为其提供产品集合:

$collection = Mage::getModel('catalog/product')->getCollection()
    ->addIdFilter([1, 2, 3]);

$block = $this->getLayout()
    ->createBlock('catalog/product_list')
    ->setCollection($collection);

echo $block->toHtml();