2012-04-20 4 views
0

これはMagentoに少し慣れている人にとっては簡単な問題だと思いますが、私は全く新しい解決策ではありません。Magento:カテゴリ別のレポート/ product_collectionのフィルタリングは機能していないようです

私は、私がカテゴリ別に受注の彼らの数で注文された製品を取得するために使用する必要がある/ product_collectionレポートをフィルタするためのサンプルコードをしようとしています:

カタログ上のaddCategoryFilter()メソッドを使用して
$store = Mage::app()->getStore(); 
$category = 42; // just an example 
$products = Mage::getResourceModel('reports/product_collection') 
       ->addAttributeToSelect('*') 
       ->addAttributeToFilter("status", Mage_Catalog_Model_Product_Status::STATUS_ENABLED)  
       ->setPageSize(9) 
       ->setCurPage(1) 
       ->addOrderedQty() 
       ->setOrder("ordered_qty", "desc") 
       ->setStore($store) 
       ->addStoreFilter($store) 
       ->addCategoryFilter(Mage::getModel('catalog/category')->load($category)); 

/product_collectionは問題なく動作しますが、レポート/ product_collectionでは何もしないようですが、それでもすべてのカテゴリのプロダクトをクエリします。 そして、addAttributeToFilter()メソッドは動作していないようです。

私には何が欠けていますか?

答えて

0

ちょうど散歩ですが、もっとそうであってはいけませんか? フィルタを正しくステージングしていないと思います。 IMHO

$store = Mage::app()->getStore(); 

$category = 42; // just an example 

$products = Mage::getResourceModel('reports/product_collection') 
      ->addAttributeToSelect('*') 
      ->addAttributeToFilter("status", Mage_Catalog_Model_Product_Status::STATUS_ENABLED)  
      ->setPageSize(9) 
      ->setCurPage(1) 
      ->addOrderedQty() 
      ->setOrder("ordered_qty", "desc") 
      ->setStore($store) 
      ->addStoreFilter($store) 
      ->addAttributeToFilter('category_id', array('in' => $category)); 
+0

私はこれを試してみたが、この '$製品=メイジ:: getResourceModel( "カタログ/ product_collection") \t \t \t \tのようなカタログ/ product_collectionフィルタリングします - > addAttributeToSelect( '*') \t \t \t \tを - > addAttributeToFilter( "ステータス"、Mage_Catalog_Model_Product_Status :: STATUS_ENABLED) \t \t \t \t - > setPageSize(9) \t \t \t \t - > setCurPage(1) - > setStore($店) - > addStoreFilter($店)addCategoryFilter(Mage :: getModel( 'catalog/category') - > load($ c));は正常に動作します。私は奇妙なレイアウトに申し訳ありません。コメント用のテキストエディタを扱えません。 – Subsurf

+0

いいえ、コードはまったく動作しません。このエラーが発生します: '致命的なエラー:メンバー関数getBackend() C:\ xampp \ htdocs \ magento \ 1.5.1.0 \ app \ code \ core \ Mage \ Eav \ Model \ Entity \ Abstract.php(816行) 'あなたの提案は、カテゴリ別に推奨されなくなった方法だと思います。 – Subsurf

0

あなたが照会しているカテゴリはアンカーとして設定されていますか?私はこれがすべてのサブキャットの製品も含むようになると思います。

関連する問題