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.

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 

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'); ?>

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.