如何在产品视图页面上仅显示3个相关产品,Magento?

mad*_*cky 7 magento magento-1.4 magento-1.7

我在产品视图页面的布局内容块中显示相关产品.我在catalog.xml中的代码是:

<reference name="content">
     <block type="catalog/product_list_related" name="catalog.product.related" after="-" template="catalog/product/list/related.phtml"/>
</reference>
Run Code Online (Sandbox Code Playgroud)

现在,所有相关产品都显示在我的产品视图页面中,但我只想显示3个产品,我该怎么办?拜托,有人可以帮忙吗?

zit*_*tix 10

您需要编辑模板文件catalog/product/list/related.phtml并将循环限制为仅迭代3个产品.

例如:

    ...
    <?php $i = 0; ?>
    <?php foreach($this->getItems() as $_item): ?>
        <?php if($i++ == 3) break; ?>
        ...
Run Code Online (Sandbox Code Playgroud)

  • 在这里,您将获得更大的收藏,而您只需要三个.所以这将是更加资源密集型.在您的集合代码中添加此限制为3. (3认同)

Vik*_*áth 5

这对我有用。您必须限制查询,并可能在加载集合之前将其改组。打开文件\ app \ code \ core \ Mage \ Catalog \ Block \ Product \ List \ Related.php并查找方法:

Mage_Catalog_Block_Product_List_Related-> __ prepareData()

在load()调用之前添加此行。

$this->_itemCollection->getSelect()->limit(3)->order(new Zend_Db_Expr('RAND()'));
Run Code Online (Sandbox Code Playgroud)

仍然不是很漂亮,!!您不应该编写核心代码!,但这是一个好的开始。