【发布时间】:2015-05-12 12:51:58
【问题描述】:
我们有一个在 Argento 主题上运行 1.7.0 版的 Magento 站点,该站点似乎存在产品不出现的间歇性问题。这似乎发生在某些页面而不是其他页面上。
例如,如果您从主页或单个类别页面添加产品,它将立即显示为购物车的一部分(注意,Argento 使用 AjaxPro 作为购物车)。但是,一旦您导航到另一个页面,说“我的购物车”或“结帐”,总数将显示为零。在浏览器上执行硬刷新将更新总数。
此外,如果您打开 Chrome 开发工具,导航到“网络”,然后选中“禁用缓存”,一切运行正常。
我们试图解决的问题:
- 刷新/清除/禁用 Magento 缓存。似乎让事情稍微好一些,但并没有解决问题。
- x-cache-control 元标记。与上述相同,问题似乎不那么频繁,但仍然肯定会出现。
- 关闭 AjaxPro。我们最初认为这个插件会导致问题,但关闭它没有任何效果。
- 重新索引。没有效果。
- 在脚本顶部添加了
$.ajaxSetup({"cache" : false})。这也没有效果。
任何关于下一步看哪里的建议或提示将不胜感激。
【问题讨论】:
-
据我所知,您遇到过时的缓存页面/路由问题。数据已更改,但缓存页面提供过期页面。如果是这样,请查看您想要始终保持动态的打孔块:demacmedia.com/magento-commerce/magento-tutorials/…
-
@VladimirRamik 谢谢 - 当缓存被禁用时这仍然是一个问题吗?
-
可能不会,但性能会受到冲击。禁用缓存并确认它是罪魁祸首。
-
@VladimirRamik 我们实际上禁用了缓存作为初始调试步骤之一,但没有运气。
-
开启模板提示。找到呈现迷你购物车对象的模板/块。打印输出购物车的代码。应该类似于... $oQuote = Mage::getModel( 'checkout/cart' )->getQuote() $oCartItems = $oQuote->getAllItems();我的猜测是,您可能正在使用一种陈旧的购物车方法,该方法在整个页面重新加载之前不会更新。
标签: magento magento-1.7