Магенто 2:Бестселлер и самый просматриваемый товар на главной странице

magento.stackexchange https://magento.stackexchange.com//questions/92157

  •  13-12-2019
  •  | 
  •  

Вопрос

Как получить бестселлер и самый просматриваемый товар на главной странице Магенто 2?

Мы должны отобразить бестселлер и самое просматриваемое Список продуктов в слайдере домашней страницы в Magento 2.

Это было полезно?

Решение

Для бестселлера создайте блок в __construct получить экземпляр

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

бывший

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

}

Для недавнего просмотра вы можете использовать виджет со стороны администратора, или вы можете написать пользовательский блок с \Magento\Reports\Model\ResourceModel\Product\CollectionFactory $productsFactory

Посмотри на:

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

and

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

Другие советы

Используйте следующий код для просмотра лучшего продавца, а также наиболее просмотренные продукты в вашем слайдере Magento 2.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top