Magento 2: Produtos mais vendidos e mais vistos na página inicial

13

Como obter o best-seller e o produto mais visto na página inicial Magento 2 ?

Temos que exibir a lista de produtos mais vendidos e os mais vistos no controle deslizante da página inicial no magento 2.

Rakesh Jesadiya
fonte

Respostas:

12

Para o best-seller, crie um bloco na __constructinstância get 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 visualizados recentemente, você pode usar o widget do lado do administrador ou criar um bloco personalizado com \Magento\Reports\Model\ResourceModel\Product\CollectionFactory $productsFactory

Olhe para a:

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

and

vendor\magento\module-backend\Block\Dashboard\Tab\Products\Ordered.php 
Pradeep Kumar
fonte
Como obter a lista dos produtos mais visualizados?
Rakesh Jesadiya
criar widget do admin, na chamada front-end que widget, se bestsellers funciona para você, então, aceitar a minha resposta por isso vai útil para os outros
Pradeep Kumar
ok, vou verificar primeiro o best-seller. Obrigado.
Rakesh Jesadiya
sua multa de trabalho você terá identificação do produto e o nome, basta colocar para cada loop para a recolha e imprimir os dados
Pradeep Kumar
1
@RBJesadiya: - no fórum você não terá 100% de solução para sua tarefa, terá apenas idéias; se quiser aumentar um novo ticket, você pode tentar esta $ collection-> getSelect () -> limit (10);
Pradeep Kumar
0

Use o código a seguir para visualizar os produtos BEST SELLER e MAIS VISUALIZADOS no seu 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
fonte
Lembre-se de que, ao iniciar um site, você não terá dados de vendas; portanto, será necessário adicionar uma lógica de backup, por exemplo, recuperar produtos aleatórios do catálogo, se não houver nada na tabela de vendas.
Thdan # 8/17