홈페이지 Magento 2 에서 베스트셀러와 가장 많이 본 제품 을 얻는 방법 ?
magento 2의 홈페이지 슬라이더에 베스트셀러 및 가장 많이 본 제품 목록 을 표시해야합니다 .
홈페이지 Magento 2 에서 베스트셀러와 가장 많이 본 제품 을 얻는 방법 ?
magento 2의 홈페이지 슬라이더에 베스트셀러 및 가장 많이 본 제품 목록 을 표시해야합니다 .
답변:
베스트 셀러의 __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
다음 코드를 사용하여 Magento 2 슬라이더에서 BEST SELLER와 가장 많이 본 제품을 봅니다.
<?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'); ?>