Magento|当产品已经在购物车中时,货币切换器不工作


Magento | Currency switcher not working when product is already in cart

我在子域上安装了一个存储版本1.9.2.3的magento。当购物车里没有产品时,货币兑换器工作正常。但当我在购物车中添加任何产品,然后应用货币转换时,我会收到以下错误

  • 在本地,我收到一张空白页
  • 在子域上,我收到500服务器错误

我已经在index.php 中做过了

ini_set("memory_limit", '512M');
ini_set("max_execution_time", '120');

但问题依然存在。如果可能的话,请提供任何帮助。

要解决这个问题,首先要确定您是否对购物车和结账页面使用了除magento默认页面之外的任何扩展。

如果是,请在那些扩展文件中搜索代码

$quote = Mage::getSingleton('checkout/session')->getQuote()

用替换此代码

$quoteId = Mage::getSingleton('checkout/session')->getQuoteId();
$quote = Mage::getModel('sales/quote')->load($quoteId);

原因是当您将产品添加到购物车并切换货币时

下面的sql代码被激发,它将检查代码项。详细信息导致获取报价项的无限循环。这会导致空页面或内部服务器错误

SELECT `sales_flat_quote`.* FROM `sales_flat_quote` WHERE (`sales_flat_quote`.`entity_id`='1055') AND (store_id IN ('1'))