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 

最も見られた製品のリストを取得する方法は?
ラケシュジェサディヤ

adminからウィジェットを作成し、フロントエンドでそのウィジェットを呼び出します。ベストセラーがあなたのために働くなら、私の答えを受け入れて、他の人に役立つようにします
Pradeep Kumar

OK、最初にベストセラーをチェックします。ありがとう。
ラケシュジェサディヤ

その作業罰金は、あなたは、製品IDと名前を入手するには、コレクションのために各ループのために入れて、データを印刷します
プラディープ・クマール

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.