限制Magento中随机产品块中显示的产品数量

时间:2013-05-05 09:51:26

标签: magento random count limit product

如何将Magento limit the number of products shown with in the new products block中提供的解决方案应用于主页上显示的随机产品块?

我目前有代码

<reference name="random">
<block type="catalog/product_list_random" name="product_random" template="catalog/product/grid_only.phtml">
 <action method="setProductsCount"><count>3</count></action>
 </block>
    </reference>

在我的布局更新XML中。网格产品视图默认值似乎主导该值,该值在后端系统&gt;中设置。配置&gt;目录&gt;目录&gt;前端&gt; “网格默认值的每页产品”。

4 个答案:

答案 0 :(得分:3)

看看@

也可以尝试更改

 <action method="setProductsCount"><count>3</count></action>

 <action method="setData"><key>num_products</key><value>[# to display]</value></action>

 <action method="setNumProducts"><num_products>[# to display]</num_products></action>

请参阅/app/code/core/Mage/Catalog/Block/Product/List/Random.php

 $numProducts = $this->getNumProducts() ? $this->getNumProducts() : 0;

您也可以尝试将此添加到您的cms页面

{{block type="catalog/product_list_random" category_id="YOUR_CATEGORY_ID" template="catalog/product/list.phtml" column_count="4" num_products="12"}}

答案 1 :(得分:1)

在你的grid_only.phtml文件中,你应该编写以下代码来获取随机产品,这里限制你可以随意传递,这里我给出了类别明智的随机产品代码。

$categoryid = 15;
$category = new Mage_Catalog_Model_Category();
$category->load($categoryid);
$products = $category->getProductCollection();
$products->addAttributeToSelect('*');
$products->getSelect()->order('RAND()');
$products->getSelect()->limit(4);
foreach($products as $prod)
{
  echo $prod->getName() ."<br>";
  $img=$prod->getSmallImageUrl();
  echo "<img src='$img'>" ."<br>";
}

答案 2 :(得分:0)

请参阅这些链接http://blog.magikcommerce.com/random-products-magento-home-page/

希望这会对你有所帮助。

答案 3 :(得分:0)

您可以使用以下代码获取magento的最新产品:

<?php
$products = Mage::getModel('catalog/product')->getCollection();
//Magento does not load all attributes by default
//Add as many as you like
$products->addAttributeToSelect('name');
$products->setOrder('created_at', 'desc');
$products->getSelect()->limit(22);
foreach($products as $product) {

echo '<a href="'.$product->getProductUrl().'">'.$product->name.'</a> - ';     
}

取自here