Magento 2: Best-seller et produit le plus consulté sur la page d'accueil

13

Comment obtenir le best-seller et le produit le plus consulté sur la page d'accueil Magento 2 ?

Nous devons afficher la liste des produits les plus vendus et les plus consultés dans le curseur de la page d'accueil dans magento 2.

Rakesh Jesadiya
la source

Réponses:

12

Pour le best-seller, créez un bloc dans __constructget instance of

\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;
    }       

}

Pour les vues récentes, vous pouvez utiliser le widget du côté administrateur ou bien vous pouvez écrire un bloc personnalisé avec \Magento\Reports\Model\ResourceModel\Product\CollectionFactory $productsFactory

Regarder:

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

and

vendor\magento\module-backend\Block\Dashboard\Tab\Products\Ordered.php 
Pradeep Kumar
la source
Comment obtenir la liste des produits les plus consultés?
Rakesh Jesadiya du
créer un widget à partir de l'administrateur, en premier appelez ce widget, si les best-sellers fonctionnent pour vous, acceptez ma réponse afin qu'elle soit utile pour les autres
Pradeep Kumar
ok, je vais le vérifier d'abord pour le best-seller. Merci.
Rakesh Jesadiya
son bon fonctionnement, vous obtiendrez l'ID et le nom du produit, il suffit de mettre pour chaque boucle pour la collection et d'imprimer les données
Pradeep Kumar
1
@RBJesadiya: - dans le forum, vous n'obtiendrez pas de solution à 100% pour votre tâche, vous n'obtiendrez que des idées, si vous voulez augmenter un nouveau ticket, vous pouvez essayer cette $ collection-> getSelect () -> limit (10);
Pradeep Kumar
0

Utilisez le code suivant pour afficher le MEILLEUR VENDEUR ainsi que les produits LES PLUS VUES dans votre 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
la source
Gardez à l'esprit lorsque vous lancez un site pour la première fois, vous n'aurez pas de données de vente, vous devrez donc ajouter une logique de sauvegarde, par exemple, récupérer des produits aléatoires du catalogue s'il n'y a rien dans le tableau des ventes.
thdoan