2012-04-12 105 views
0
$storeId = Mage::app()->getStore()->getId(); 
$products = Mage::getResourceModel('reports/product_collection') 
->addOrderedQty() 
->addAttributeToSelect(array('name', 'price', 'small_image', 'short_description', 'description')) 
->addStoreFilter($storeId) 
->setPageSize(4) 
->setCurPage(1) 
->setOrder('ordered_qty', 'desc')->load(); 

暢銷代碼不能在Magento 1.6.2中使用。該集合甚至沒有被商店過濾。Magento 1.6.2暢銷書產品不能正常工作

Zend_Debug::dump($storeId);給我string '2' (length=1)而是因爲它給了我像There has been and error processing your request一個錯誤,我不能執行Zend_Debug::dump($products->getSelect());並得到S-我下面的查詢:

SELECT SUM(order_items.qty_ordered) AS ordered_qty, order_items.name AS order_items_name, order_items.product_id AS entity_id, e.entity_type_id, e.attribute_set_id, e.type_id, e.sku, e.has_options, e.required_options, e.created_at, e.updated_at, e.name, e.price, e.small_image, e.short_description FROM tp_sales_flat_order_item AS order_items INNER JOIN tp_sales_flat_order AS order ON order.entity_id = order_items.order_id AND order.state <> 'cancelled' LEFT JOIN tp_catalog_product_entity AS e ON (e.type_id NOT IN ('grouped', 'configurable', 'bundle')) AND e.entity_id = order_items.product_id AND e.entity_type_id = 4 WHERE (parent_item_id IS NULL) GROUP BY order_items.product_id HAVING (SUM(order_items.qty_ordered) > 0) ORDER BY ordered_qty desc LIMIT 4 

請幫助我。

+0

什麼'Zend_Debug ::轉儲($ STOREID);'和'Zend_Debug ::轉儲($產品 - > getSelect() );'返回? – B00MER 2012-04-12 15:28:01

回答

0

嘗試這種情況:

$storeId = Mage::app()->getStore()->getId(); 
$products = Mage::getResourceModel('reports/product_collection') 
->addOrdersCount() 
->addAttributeToSelect(array('name', 'price', 'small_image', 'short_description', 'description')) 
->addStoreFilter($storeId) 
->setPageSize(4) 
->setCurPage(1) 
->setOrder('orders', 'desc')->load(); 

的變化是addOrdersCount()方法,和 - > setOrder()方法。

+0

上述解決方案不起作用 – p4pravin 2012-04-13 09:01:55

0

我也在magento 1.6.2中遇到這種類型的問題。 我發現我在過濾收集時在屬性過濾器中存在一些問題。

我有addFieldToFilter更換addAttributeToFilter,它的工作。

嘗試,這可能是這將有利於您的

+0

仍然不能正常工作....你可以在這裏寫你的代碼, – p4pravin 2012-04-25 11:35:15

0

嘗試設置爲您收集STOREID。插入此行中添加OrderedQty後:

->setStoreId($storeId) 
1

試試這個:

<?php 
    $products = Mage::getResourceModel('reports/product_collection') 
       ->addAttributeToSelect('*') 
       ->addOrderedQty($from, $to, true) 
       ->addAttributeToSelect(array('name', 'price', 'small_image')) 
       ->addCategoryFilter($category) 
       ->setStoreId($storeId) 
       ->addStoreFilter($storeId) 
       ->setOrder('ordered_qty', 'desc'); 
?> 
相關問題