0

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

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

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

这是退回 40 件产品,但顺序不正确。

我尝试了很多东西......有人可以帮助我吗?

4

4 回答 4

0

我不确定你的确切问题是什么,但这里有一个方便的调试方法可以帮助你。

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

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

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

于 2012-04-07T09:12:32.383 回答
0

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

        $collection->addAttributeToSort('news_from_date', 'desc');
    $collection->addAttributeToSort('created_at', 'desc');
于 2013-04-18T17:05:33.573 回答
0

或者,您可以作弊并通过在 php 文件中直接查询来获取 ID 列表:

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

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

于 2012-04-07T22:51:02.383 回答
0

您需要先清洁物体。为此:

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

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

希望能帮助到你。

于 2015-01-13T02:07:35.227 回答