2012-04-06 10 views
0

私は最新の製品を含むコレクションをホームページに掲載しようとしています。これまでのコードです:Magentoは "最新商品"コレクションを作成します

これは40個の製品を返していますが、正しい順序ではありません。

私はたくさんのことをしようとしています...誰かが私を助けることができますか?

+0

「良い」注文とは何ですか?現在のコレクションが提供している出力のサンプルを教えてください。 'updated_at'ではなく' created_at'で注文している理由は何ですか? – philwinkle

+0

良い順番が最新の製品です。ここにストア[リンク](http://boutique.hhqc.com)へのリンクがあります。私はupdated_dateについて知らなかったので、created_atをやっています。 – user1318338

+0

私はupdate_atの変更created_atを持っています – user1318338

答えて

0

あなたの正確な問題はわかりませんが、ここであなたを得るための便利なデバッグ方法があります。

Zend_Db_Selectオブジェクトで使用できるメソッドを使用すると、コレクションのクエリをいつでも調べることができます。あなたのケースでは、例えば、我々は実行することができます:あなたは、ブラウザでクエリをプリントアウトしてお使い->load()メソッド呼び出し、->load(true)にパラメータとしてtrueを追加することができ

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

+0

ありがとうございます。私の正確な問題は、setOrder()は動作しないということです。私は間違っているの?私はちょうど作成日によって注文を設定したい。再度、感謝します。 – user1318338

0

それとも、カンニングやPHPファイルへの直接クエリを経由してIDのリストを取得することができます。一つは望んでいるだろうと

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

は、結果はあなたがENTITY_IDで注文する場合と同じです。あなたのコレクションで

0

使用以下:

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

あなたが最初のオブジェクトをきれいにする必要があります。これを行うには:

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

さらに、created_atには、名前、updated_at、skuなどを使用できます。

希望します。

関連する問題