我正在开发由第三方开发的网站,即Magento 2.1并大量使用捆绑产品。大多数捆绑包由260种儿童产品作为选择,并且不可避免地使得为它们加载产品页面的速度非常慢。
在Mage 1上,使用全页面缓存来缓存捆绑产品选项并通过预缓存来加速负载非常简单,但Mage 2中的FPC显然非常不同。
主要的减速似乎来自于主题的catalog_product_view.xml中调用的表单和选项块,因为它们在呈现页面之前迭代所有子产品,所以我尝试添加;
cacheable="true"
对于那些特定的块,但没有区别。
对于如何缓存Magento 2捆绑产品页面,还有其他任何想法吗?
编辑编辑
我刚刚尝试将数据库插入到Magento 2.1的全新安装中,并且可以看到捆绑产品正被添加到var / page_cache目录中。在客户端服务器上,唯一写入该目录的是标记和标题信息。
那么新角度......为什么Magento 2不会将任何FPC html写入page_cache目录?树上的某些东西错误地设置了cacheable = false?我会挖掘
答案 0 :(得分:0)
抱歉,我无法评论您的上一篇文章。
您是否尝试使用Varnish作为HTTP缓存? Magento建议使用Varnish和Redis作为缓存后端。
答案 1 :(得分:0)
所以我发现了这个问题,这是由建立网站的人和magepal magento2-googletagmanager的模块创建者所犯的错误。在这两种情况下,块都有;
cacheable="false"
在布局XML中。在页面上的任何块上设置此项将阻止整个页面进行缓存。所以删除该行,然后添加;
$this->_isScopePrivate = true;
进入块__construct函数。问题解决了。