代码之家  ›  专栏  ›  技术社区  ›  a1anm

Magento-在CMS页面上多次显示同一块

  •  0
  • a1anm  · 技术社区  · 16 年前

    我使用这里描述的方法在CMS页面上显示单个产品:

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

    问题是,如果我尝试使用此方法显示两个产品,即使我在每个块中指定了不同的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显示两次。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Darren user513543    14 年前

    以下是解决方案将产品从“新产品”更改为“产品”视图 这样地: type=“目录/产品视图” 玩得开心:

        2
  •  2
  •   Lee Saferite    16 年前

    不知道你运行的是什么版本的Magento,我选择了为你看1.3.2.4。

    奇怪的是,我很惊讶你使用“目录/产品”获得了任何好的结果。它没有将产品ID作为块参数传入的规定。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');
    }
    
        3
  •  0
  •   Hervé Guétin    16 年前

    我的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"}}
    
    推荐文章