显示最近浏览过的产品在Magento商店的成功中发挥了重要作用,因为它允许客户密切关注他们最近访问过的所有产品,这将有助于增强客户的购物体验。
要在网站上显示最近查看的产品集合,商店管理员将需要有关最近查看的产品集合的数据。然而,获取集合并不是一项简单的任务,虽然有几篇文章为此解释了解决方案,但实际上并没有这些文章有效。因此,在今天的帖子中,我将为您提供三个步骤,以获取 Magento 2中的最近浏览产品集。
如何获得最近浏览的产品集合
- 第1步:创建RecentProducts块
- 第2步:在phtml文件中插入
- 第3步:刷新缓存和测试结果
第1步:创建RecentProducts块
要获取最近查看的产品集合,首先需要创建一个RecentProducts
块。为此,请按照路径Mageplaza/Productslider/Block/RecentProducts.php
添加以下代码:
<?php
/**
* Mageplaza
*
* NOTICE OF LICENSE
*
* This source file is subject to the Mageplaza.com license that is
* available through the world-wide-web at this URL:
* https://www.mageplaza.com/LICENSE.txt
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this extension to newer
* version in the future.
*
* @category Mageplaza
* @package Mageplaza_Productslider
* @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/)
* @license https://www.mageplaza.com/LICENSE.txt
*/
namespace Mageplaza\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 Magento\Reports\Block\Product\Viewed as ReportProductViewed;
use Mageplaza\Productslider\Helper\Data;
/**
* Class RecentProducts
* @package Mageplaza\Productslider\Block
*/
class RecentProducts extends AbstractSlider
{
/**
* @var ReportProductViewed
*/
protected $reportProductViewed;
/**
* RecentProducts constructor.
* @param Context $context
* @param CollectionFactory $productCollectionFactory
* @param Visibility $catalogProductVisibility
* @param DateTime $dateTime
* @param Data $helperData
* @param HttpContext $httpContext
* @param ReportProductViewed $reportProductViewed
* @param array $data
*/
public function __construct(
Context $context,
CollectionFactory $productCollectionFactory,
Visibility $catalogProductVisibility,
DateTime $dateTime,
Data $helperData,
HttpContext $httpContext,
ReportProductViewed $reportProductViewed,
array $data = []
) {
$this->reportProductViewed = $reportProductViewed;
parent::__construct($context, $productCollectionFactory, $catalogProductVisibility, $dateTime, $helperData, $httpContext, $data);
}
/**
* Get Collection Recently Viewed product
* @return mixed
*/
public function getProductCollection()
{
return $this->reportProductViewed->getItemsCollection()->setPageSize($this->getProductsCount());
}
}
第2步:在phtml文件中插入
在块中进行收集后,现在您可以按照此片段从块中获取产品集合 Mageplaza/HelloWorld/view/frontend/templates/list.phtml
然后,请在phtml文件中插入以下代码。
<?php
$collection = $block->getProductCollection();
foreach ($collection as $_product) {
echo $product->getName() . ' - ' . $product->getProductUrl() . '<br />';
}
第3步:刷新缓存和测试结果
最后,让我们刷新缓存和测试结果。
结论
以上是帮助您在Magento 2中获取最近观看收藏的三个步骤。我希望在阅读本文后,您将能够轻松地显示您的收藏。如果您有任何问题或想法,请随时在下面发表评论