2013-05-05 80 views
2

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

我目前拥有的代码

<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。网格产品视图的默认值似乎主导了在后端系统>配置>目录>目录>前端>“每页上网格产品缺省值”中设置的该值。

+0

两者

<?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> - '; } 

我建议你不要使用内置的块随机产品在所有的,因为它是非常unperformant 。请阅读有关替代方法:http://www.schmengler-se.de/en/2015/09/show-random-products-in-magento-you-are-doing-it-wrong/ – 2015-09-29 14:10:30

回答

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

在你的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>"; 
} 
0

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

希望这会帮助你。

+1

请注意,[仅限链接答案](http://meta.stackoverflow.com/tags/link-only-answers/info),所以SO答案应该是搜索解决方案的终点(而不是另一个参考文献的中途停留点,往往会随着时间的推移变得陈旧)。请考虑在此添加独立的摘要,并将链接保留为参考。 – kleopatra 2013-08-22 06:47:46

0

你可以得到最新的产品在Magento用下面的代码:从here