Magento 2: Sản phẩm bán chạy nhất và được xem nhiều nhất trên trang chủ


13

Làm thế nào để có được sản phẩm bán chạy nhất và được xem nhiều nhất trong trang chủ Magento 2 ?

Chúng tôi phải hiển thị danh sách sản phẩm bán chạy nhất và được xem nhiều nhất trong thanh trượt trang chủ trong magento 2.

Câu trả lời:


12

Đối với bán chạy nhất tạo một khối trong __constructví dụ của

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

Ví dụ

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

}

Để xem gần đây, bạn có thể sử dụng widget từ phía quản trị viên hoặc người nào khác bạn có thể viết khối tùy chỉnh với \Magento\Reports\Model\ResourceModel\Product\CollectionFactory $productsFactory

Nhìn vào:

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

and

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

Làm thế nào để có được danh sách các sản phẩm được xem nhiều nhất?
Rakesh Jesadiya

tạo tiện ích từ quản trị viên, trước cuộc gọi đó là tiện ích đó, nếu người bán chạy nhất làm việc cho bạn thì hãy chấp nhận câu trả lời của tôi để nó có ích cho người khác
Pradeep Kumar

ok, tôi sẽ kiểm tra nó đầu tiên cho bán chạy nhất. Cảm ơn.
Rakesh Jesadiya

nó hoạt động tốt, bạn sẽ nhận được id và tên sản phẩm, chỉ cần đặt cho mỗi vòng lặp cho bộ sưu tập và in dữ liệu
Pradeep Kumar

1
@RBJesadiya: - trong diễn đàn bạn sẽ không nhận được giải pháp 100% cho nhiệm vụ của mình, bạn sẽ chỉ nhận được ý tưởng, nếu bạn muốn tăng thêm vé mới, bạn có thể thử bộ sưu tập $ này-> getSelect () -> giới hạn (10);
Pradeep Kumar

0

Sử dụng mã sau đây để xem NGƯỜI BÁN HÀNG TỐT NHẤT cũng như các sản phẩm ĐƯỢC XEM NHẤT trong Thanh trượt Magento 2 của bạn.

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

Hãy ghi nhớ khi bạn lần đầu tiên khởi chạy một trang web, bạn sẽ không có bất kỳ dữ liệu bán hàng nào, vì vậy bạn sẽ cần thêm logic sao lưu, ví dụ: truy xuất các sản phẩm ngẫu nhiên từ danh mục nếu không có gì trong bảng bán hàng.
thdoan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.