Magento: как показать, сколько раз продукт был продан? - PullRequest
5 голосов
/ 18 октября 2011

Я хочу отобразить на моей домашней странице общий объем продаж продукта. Как это можно сделать?

Также мне хотелось бы узнать, как запросить общее количество проданных товаров (количество) на первой странице.

В моем магазине будет только 1 товар (виртуальный).

Редактировать

Я нашел этот код, и он довольно хорошо работает на странице просмотра продукта.

$sku = nl2br($_product->getSku());
$_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addOrderedQty()
    ->addAttributeToFilter('sku', $sku)
    ->setOrder('ordered_qty', 'desc')
    ->getFirstItem();
$product = $_productCollection;

echo 'Already Bought '.(int)$product->ordered_qty; 

Но на первой странице, как бы я указал на идентификатор продукта, который я хочу?

Ответы [ 4 ]

5 голосов
/ 18 октября 2011

Это должно работать:

$id = 123; // enter your product ID here
$product = Mage::getResourceModel('reports/product_collection')
    ->addOrderedQty()
    ->addAttributeToFilter('id', $id)
    ->setOrder('ordered_qty', 'desc')
    ->getFirstItem();

echo 'Already Bought '.(int)$product->ordered_qty;
3 голосов
/ 17 декабря 2015
//This will show  total sales of all the products 
<?php    
     foreach(Mage::getModel('catalog/product')->getCollection() as $product)
     {
            $productId= $product->getId();
            $productModel = Mage::getModel('catalog/product');
            $name = $productModel->load($productId)->getName();
            echo "<br/>";
            $product = Mage::getResourceModel('reports/product_collection')
                ->addOrderedQty()
                ->addAttributeToFilter('entity_id', array('eq' => $productId))
                ->setOrder('ordered_qty', 'desc')
                ->getFirstItem();
            echo (int)$product->ordered_qty.'&nbsp'.$name.' Have Been Sold';
        }
?> 
0 голосов
/ 26 мая 2016

Показать продукт по максимальному количеству проданных продуктов на странице списка

$i=0;  
foreach($_collection as $product)  
     {  
            $productId= $product->getId();  
            $productModel = Mage::getModel('catalog/product');  
            $name = $productModel->load($productId)->getName();  
            $product1 = Mage::getResourceModel('reports/product_collection')  
                ->addOrderedQty()  
                ->addAttributeToFilter('entity_id', array('eq' =>     $productId))  
                ->setOrder('ordered_qty', 'desc')  
                ->getFirstItem();  
            $solditems[$i]= array($product1->ordered_qty,$product);  
            $i++;  
        }    
            rsort($solditems);  
print_r($solditems);  
0 голосов
/ 25 октября 2014

Код должен быть следующим:

$id = $_product->getId();
    $product = Mage::getResourceModel('reports/product_collection')
        ->addOrderedQty()
        ->addAttributeToFilter('entity_id', array('eq' => $id))
        ->setOrder('ordered_qty', 'desc')
        ->getFirstItem();
    echo 'Downloaded '.(int)$product->ordered_qty.'times';

этот код отлично работает для меня (покажите, сколько раз текущий продукт был продан)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...