Magento的 - 显示在CMS页面相同的块中多次

Magento的 - 显示在CMS页面相同的块中多次

问题描述:

我使用的是这里所描述的方法来显示一个CMS页面上的个别产品:Magento的 - 显示在CMS页面相同的块中多次

http://www.molotovbliss.com/magento-commerce/magento-display-a-product-image-within-static-pages-and-blocks/

的问题是,如果我试图显示2使用这种方法既块表现出同样的产品的产品,即使我指定每个块,即不同的ID:

{{block type="catalog/product_new" product_id="1" template="catalog/product/view/your_new_page.phtml"}} 

{{block type="catalog/product_new" product_id="2" template="catalog/product/view/your_new_page.phtml"}} 

添加上面的代码到我的CMS页面结果产品1显示的两倍。

下面是解变化product_new到product_view 这样的: 类型= “目录/ product_view” 玩得开心:)

我的2美分(但不是肯定,虽然...):你是否尝试为每个块设置一个名称? 像:

{{block type="catalog/product_new" product_id="1" name="first.product" template="catalog/product/view/your_new_page.phtml"}} 

{{block type="catalog/product_new" product_id="2" name="second.product" template="catalog/product/view/your_new_page.phtml"}} 
+0

不幸的是,当添加唯一名称时,我仍然得到相同的结果。 – a1anm 2010-06-20 10:39:58

不知道正是你正在运行的版本的Magento的,我选择了看你的1.3.2.4。

奇怪的是,我很惊讶,你使用'catalog/product_new'得到了很好的结果。它没有规定将产品ID作为块arg传入。 'catalog/product_view'将允许您将产品ID作为参数传入,但只能传入一次。如果您在下面注意到,它将首次将该产品设置为注册表对象,并且在此之后不会使用传入的产品ID。

public function getProduct() 
{ 
    if (!Mage::registry('product') && $this->getProductId()) { 
     $product = Mage::getModel('catalog/product')->load($this->getProductId()); 
     Mage::register('product', $product); 
    } 
    return Mage::registry('product'); 
} 
+0

我正在使用Magento 1.4。我将我的代码更改为catalog/product_view,并且工作正常!它现在在同一页面上显示不同的产品! – a1anm 2010-06-22 09:47:45