如何将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; “网格默认值的每页产品”。
答案 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