Magento:ResourceModels引发异常
我试图在一个块上显示当前正在查看的产品的总销售额,到目前为止,在stackoverflow线程的帮助下:Magento:ResourceModels引发异常,magento,Magento,我试图在一个块上显示当前正在查看的产品的总销售额,到目前为止,在stackoverflow线程的帮助下: $product = Mage::registry('current_product')->getId(); $productID = Mage::getModel('catalog/product')->load($product)->getId(); $productReport = Mage::getResourceModel('reports/product
$product = Mage::registry('current_product')->getId();
$productID = Mage::getModel('catalog/product')->load($product)->getId();
$productReport = Mage::getResourceModel('reports/product_sold_collection')->addOrderedQty()->addAttributeToFilter('id',$productID);
foreach ($productReport as $product) {
$product1 = $product->getOrderedQty();
var_dump($product1);
}
我可以加载所有销售数量,但当我添加addAttributeToFilter时
Fatal error: Call to a member function getBackend() on a non-object in C:\wamp\www\magento\app\code\core\Mage\Eav\Model\Entity\Abstract.php on line 816
如果我直接传递$product,也会发生这种情况,但两者都是字符串。我不知道如何获取应该传递给addAttributeToFilter方法的对象,或者它是否应该与字符串参数一起工作。如果不亲自尝试,我怀疑您需要通过
实体id
进行过滤(您的第二行是多余的)
编辑:产品和类别集合也有用于此目的的addIdFilter()
方法,例如->addIdFilter($product->getId())
有关更多详细信息,请参见
Mage\u Catalog\u Model\u Resource\u Product\u Collection::addIdFilter()
。不是更好,只是不同而已:)
$product = Mage::registry('current_product');
$productReport = Mage::getResourceModel('reports/product_sold_collection')
->addAttributeToFilter('entity_id', $product->getId())
->addOrderedQty();
$qty = $productReport->getFirstItem()->getOrderedQty();