Magento Enterprise Cache在相关产品中多次显示相同的产品
-
16-10-2019 - |
题
我试图弄清为什么Magento Enterprise网站在页面的“相关项目”部分中四次显示同一项目。
正确的行为:
- 清除缓存后,四个 不同的项目 显示在首页加载(这是正确的行为)
问题: - 其他页面加载不仅显示相同的四个项目,还显示 完全相同的项目 重复四次(请参阅屏幕截图)
- 重复的项目始终是 最后一项 它显示在原始页面加载中。换句话说,如果在缓存后的首页加载上显示A,B,C,D相关的项目,则“ D”将在将来的页面加载中重复四次。 D,D,D,D
背景:
- 页面使用自定义主题。
- 此问题仅在打开整页缓存时发生。
- 如果页面返回到“默认”主题,则不再发生问题,即使全页缓存已打开
- 回顾一下:问题仅在自定义主题和全页缓存中发生
- Magento Enterprise Ver。 1.13.0.0
页面的相关产品部分插入以下代码:
<?php echo $this->getChildHtml('relatedProducts', false) ?>
我会感谢:
- 关于这个问题可能是什么的特定潜在客户
- 可靠的方法来禁用与此相关的特定缓存(在终端中的GUI?中使用?)
- 我可以采取测试和步骤将其缩小到代码,数据库或文件。
先感谢您!
解决方案
事实证明,我们已经创建了默认的本地版本 相关.phtml 被用作相关项目块的模板的文件。在此代码中,循环中有此行:
$itemBlock = $this->getChild('catalog.product.related.item')->setItem($_item)->setPosition($i);
请注意,$ i变量在线路末端附近。
该变量没有在代码中的其他位置增加。我添加了 $i = 0;
循环之前 $i++;
在循环内的适当位置。随着$ i变量现在增加,重复项目问题已解决。