Magento2如何获取浏览量最高的产品
展示浏览次数最多的产品通常用于吸引客户使用该产品,也可以作为对他们的推荐。这个浏览次数最多的产品系列对于对商店中销售的产品不太了解的首次访问用户特别有帮助。它可以帮助他们更轻松地选择最好的商品。
浏览次数最多的产品在帮助您的商店提高销量方面发挥着重要作用。这是因为在您的网站上展示这些产品可以引导客户收集最有趣的产品,而不是让他们毫无方向地闲逛。但是,要显示浏览次数最多的产品,您需要获取浏览次数最多的产品集合。因此,在今天的文章中,我将指导您如何在 Magento 2 中获得浏览次数最多的产品集合。
获取浏览次数最多的产品系列的 3 个步骤
- 第 1 步:创建 MostViewedProducts 块
- 第 2 步:插入phtml文件
- 第 3 步:刷新缓存和测试结果
第 1 步:创建 MostViewedProducts 块
要获得浏览次数最多的产品集合,首先,您需要创建一个MostViewedProducts
块。为此,请按照路径Example/Productslider/Block/MostViewedProducts.php
添加以下代码:
<?php
namespace Example\Productslider\Block;
use Magento\Catalog\Block\Product\Context;
use Magento\Catalog\Model\Product\Visibility;
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
use Magento\Framework\App\Http\Context as HttpContext;
use Magento\Framework\Stdlib\DateTime\DateTime;
use Mageplaza\Productslider\Helper\Data;
use Example\Productslider\Model\ResourceModel\Report\Product\CollectionFactory as MostViewedCollectionFactory;
/**
* Class MostViewedProducts
* @package Mageplaza\Productslider\Block
*/
class MostViewedProducts extends AbstractSlider
{
/**
* @var MostViewedCollectionFactory
*/
protected $_mostViewedProductsFactory;
/**
* MostViewedProducts constructor.
* @param Context $context
* @param CollectionFactory $productCollectionFactory
* @param Visibility $catalogProductVisibility
* @param DateTime $dateTime
* @param Data $helperData
* @param HttpContext $httpContext
* @param MostViewedCollectionFactory $mostViewedProductsFactory
* @param array $data
*/
public function __construct(
Context $context,
CollectionFactory $productCollectionFactory,
Visibility $catalogProductVisibility,
DateTime $dateTime,
Data $helperData,
HttpContext $httpContext,
MostViewedCollectionFactory $mostViewedProductsFactory,
array $data = []
) {
$this->_mostViewedProductsFactory = $mostViewedProductsFactory;
parent::__construct($context, $productCollectionFactory, $catalogProductVisibility, $dateTime, $helperData, $httpContext, $data);
}
/**
* Get Product Collection of MostViewed Products
* @return mixed
*/
public function getProductCollection()
{
$collection = $this->_mostViewedProductsFactory->create()
->addAttributeToSelect('*')
->setStoreId($this->getStoreId())->addViewsCount()
->addStoreFilter($this->getStoreId())
->setPageSize($this->getProductsCount());
return $collection;
}
}
第 2 步:插入phtml文件
在块中拥有集合后,现在您可以按照此代码片段从块中获取产品集合Example/HelloWorld/view/frontend/templates/list.phtml
。
接下来,请在phtml文件中插入以下代码
<?php
$collection = $block->getProductCollection();
foreach ($collection as $_product) {
echo $product->getName() . ' - ' . $product->getProductUrl() . '<br />';
}
第 3 步:刷新缓存和测试结果
最后,让我们刷新缓存并测试结果。
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
上一篇:Magento 2 获得畅销产品集合 下一篇:magento2如何获取特价产品集合