在 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);
我想在 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);