Magento 2: бестселлер и самый популярный товар на домашней странице


13

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

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

Ответы:


12

Для бестселлера создайте блок в __constructэкземпляре get

\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 

Как получить список самых популярных товаров?
— Ракеш Джесадия

создайте виджет от администратора, передний вызовите этот виджет, если бестселлеры работают для вас, примите мой ответ, чтобы он был полезен для других
— Pradeep Kumar

хорошо, я проверю это сначала для бестселлера. Благодарю.
— Ракеш Джесадия

все работает нормально, вы получите идентификатор продукта и имя, просто поместите для каждой петли для сбора и распечатайте данные
— Pradeep Kumar

1
@RBJesadiya: - на форуме вы не получите 100% решения для вашей задачи, вы получите только идеи, если вы хотите поднять еще больше новых заявок, вы можете попробовать это $ collection-> getSelect () -> limit (10);
— Прадип Кумар

0

Используйте следующий код, чтобы просмотреть ЛУЧШИЙ ПРОДАВЕЦ, а также САМЫЕ ПРОСМОТРЕННЫЕ продукты на вашем 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'); ?>

Помните, что при первом запуске сайта у вас не будет никаких данных о продажах, поэтому вам нужно будет добавить логику резервного копирования, например, извлекать случайные продукты из каталога, если в таблице продаж ничего нет.
— thdoan
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.