Magento 2: Bestseller y producto más visto en la página de inicio

13

¿Cómo conseguir el producto más vendido y más visto en la página de inicio de Magento 2 ?

Tenemos que mostrar la lista de productos más vendidos y más vistos en el control deslizante de la página de inicio en magento 2.

Rakesh Jesadiya
fuente

Respuestas:

12

Para el éxito de ventas, cree un bloque para __constructobtener la instancia de

\Magento\Sales\Model\ResourceModel\Report\Bestsellers\CollectionFactory $collectionFactory,

ex

<?php
namespace Sugarcode\Test\Block;

class Test extends \Magento\Framework\View\Element\Template
{
    protected $_coreRegistry = null;
    protected $_collectionFactory;

    public function __construct(
        \Magento\Backend\Block\Template\Context $context,
        \Magento\Framework\Registry $registry,
       \Magento\Sales\Model\ResourceModel\Report\Bestsellers\CollectionFactory $collectionFactory,
        array $data = []
    ) {
        $this->_collectionFactory = $collectionFactory;
        $this->_coreRegistry = $registry;
        parent::__construct($context, $data);
    }



    public function _prepareLayout()
    {
        return parent::_prepareLayout();
    }
    public function getBestSellerData()
    {
        $collection = $this->_collectionFactory->create()->setModel(
            'Magento\Catalog\Model\Product'
        );

        return $collection;
    }       

}

Para lo visto recientemente, puede usar el widget desde el lado del administrador o puede escribir un bloque personalizado con \Magento\Reports\Model\ResourceModel\Product\CollectionFactory $productsFactory

Mirar:

vendor\magento\module-backend\Block\Dashboard\Tab\Products\Viewed.php

and

vendor\magento\module-backend\Block\Dashboard\Tab\Products\Ordered.php 
Pradeep Kumar
fuente
¿Cómo obtener la lista de los productos más vistos?
Rakesh Jesadiya
crea un widget desde el administrador, llama a ese widget por adelantado, si los más vendidos funcionan para ti, acepta mi respuesta para que sea útil para los demás
Pradeep Kumar
Ok, lo comprobaré primero para el bestseller. Gracias.
Rakesh Jesadiya
está funcionando bien, obtendrá la identificación y el nombre del producto, solo coloque cada ciclo para la colección e imprima los datos
Pradeep Kumar
1
@RBJesadiya: - en el foro no obtendrá una solución del 100% para su tarea, solo obtendrá ideas, si desea recaudar más boletos nuevos, puede probar esta $ colección-> getSelect () -> limit (10);
Pradeep Kumar
0

Use el siguiente código para ver el MEJOR VENDEDOR y los productos MÁS VISTOS en su Magento 2 Slider.

<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance();   
$productCollection = $objectManager->create('Magento\Reports\Model\ResourceModel\Report\Collection\Factory'); 
$collection = $productCollection->create('Magento\Sales\Model\ResourceModel\Report\Bestsellers\Collection'); ?>
Abhinav Singh
fuente
Tenga en cuenta que cuando inicie un sitio por primera vez, no tendrá datos de ventas, por lo que deberá agregar una lógica de respaldo, por ejemplo, recuperar productos aleatorios del catálogo si no hay nada en la tabla de ventas.
Thdoan