我正在使用
{
{
block type="catalog/product_new"
name="home.catalog.product.new" alias="product_homepage"
template="catalog/product/new.phtml"
}
}
在cms页面中显示新产品。现在它只显示一种产品。
有没有办法改变它以显示指定数量的产品?例如:16种产品
答案 0 :(得分:2)
这就是我所拥有的:
{{block type="catalog/product_list_random" num_products="9" category_id="231" template="catalog/product/list_no_toolbar.phtml" columnCount="3"}}
num_products是您在该页面上显示的产品数量的参数。
在app / code / local中创建Mage / Catalog / Block / Product / List 在新的List目录中,创建名为Random.php的以下文件
<?php
class Mage_Catalog_Block_Product_List_Random extends Mage_Catalog_Block_Product_List
{
protected function _getProductCollection()
{
if (is_null($this->_productCollection)) {
$categoryID = $this->getCategoryId();
if($categoryID)
{
$category = new Mage_Catalog_Model_Category();
$category->load($categoryID); // this is category id
$collection = $category->getProductCollection();
} else
{
$collection = Mage::getResourceModel('catalog/product_collection');
}
Mage::getModel('catalog/layer')->prepareProductCollection($collection);
$collection->getSelect()->order('rand()');
$collection->addStoreFilter();
$numProducts = $this->getNumProducts() ? $this->getNumProducts() : 3;
$collection->setPage(1, $numProducts)->load();
$this->_productCollection = $collection;
}
return $this->_productCollection;
}
}
$ collection-&gt; getSelect() - &gt; order('rand()'); 是随机设置的行,您可以将其注释掉。
答案 1 :(得分:0)
您的代码在我的网站中正常运行。打开/app/code/core/Mage/Catalog/Block/Product/New.php
在第38行附近你应该看到这样的东西:
const DEFAULT_PRODUCTS_COUNT = 5;
有可能将该数字设置为“1”。如果没有,请查看/app/code/local/Mage/Catalog/Block/Product/New.php
以确保有人没有创建核心文件的本地覆盖。
如果数字为“1”,那么您应该创建一个模块来更改扩展Mage_Catalog_Block_Product_New
的值。