Magento创造“新产品”系列

时间:2012-04-06 22:30:55

标签: magento

我正在尝试在主页上创建包含最新产品的集合。到目前为止,这是我的代码:

$_productCollection = clone $this->getLoadedProductCollection();

$_productCollection->clear()
 ->setPageSize(40)
 ->setOrder('created_at', 'desc')
 ->load();

这将返回40个产品,但订单不正确。

我尝试了很多事情......有人能帮助我吗?

4 个答案:

答案 0 :(得分:0)

我不确定你的确切问题是什么,但这是一个方便的调试方法,可以让你上路。

您始终可以使用Zend_Db_Select对象中提供的方法检查集合查询。例如,在您的情况下,我们可以运行:

echo (string) $_productCollection->getSelect()->assemble();

您还可以将true作为参数添加到->load()方法调用->load(true),以便在浏览器中打印出来。

答案 1 :(得分:0)

或者您可以通过php文件中的直接查询来欺骗并获取ID列表:

SELECT entity_id, sku FROM catalog_product_entity ORDER BY created_at DESC LIMIT 0,40;

正如人们所希望的那样,结果与按entity_id订购的结果相同。

答案 2 :(得分:0)

在您的收藏集中使用以下内容:

        $collection->addAttributeToSort('news_from_date', 'desc');
    $collection->addAttributeToSort('created_at', 'desc');

答案 3 :(得分:0)

您需要先清理对象。为此:

$_productCollection = $this->getLoadedProductCollection()
   ->clear()
   ->addAttributeToSort('created_at', 'DESC');

除了created_at,您还可以使用name,updated_at,sku等。

希望它有所帮助。