在 Magento 2 中,在产品详细信息页面上显示最近查看的产品

In Magento 2 display recently viewed product on product detail page

我想在 Magento 2 的产品详细信息页面上显示最近查看的产品。我使用的是 Magento 版本。 2.1.2.请帮助我如何显示它。 谢谢

在您的 catalog_product_view.xml 文件中添加以下块

        <block class="Magento\Reports\Block\Product\Widget\Viewed" after="-" name="recently_viewed" cacheable="false" template="Magento_Reports::widget/viewed/content/viewed_grid.phtml">
            <action method="setPageSize">
                <argument name="page_size" xsi:type="number">4</argument>
            </action>
        </block>

我们不应该设置 cacheable="false"。这将极大地影响性能。整个页面将不可缓存。

1) 2.1.x:似乎是 FPC 和 Varnish 的 Magento 错误:https://github.com/magento/magento2/issues/3890。在这种情况下,我使用了 Ajax.

2) 2.2.x 或更高版本:使用 UI 组件:https://magento.stackexchange.com/a/209658/33057

\Magento\Reports\Model\ResourceModel\Product\CollectionFactory 
$_reportCollectionFactory

$this->_reportCollectionFactory = $_reportCollectionFactory;

$collection = $this->_reportCollectionFactory->create()
    ->addAttributeToSelect('*')
    ->addViewsCount()
    ->setStoreId($storeId)
    ->addStoreFilter($storeId)
    ->setPageSize(10);