【发布时间】:2016-12-08 10:54:33
【问题描述】:
我想在 Magento 2 的产品详细信息页面上显示最近查看的产品。我正在使用 Magento 版本。 2.1.2.请帮助我如何显示它。 谢谢
【问题讨论】:
我想在 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);
【讨论】: