Magento购物车不在阿拉伯商店视图中更新数量

时间:2014-03-22 13:25:47

标签: php magento magento-1.8

我在安装Magento 1.8.1时遇到以下问题。我有两个商店视图,默认为英语,阿拉伯语。

在英国商店视图中,如果我将产品添加到购物车,我可以通过在数量框中输入新数量并单击更新购物车来修改数量,这会更改数量和总数。

但是,当我切换到阿拉伯商店视图时,我无法更新任何产品的数量。我输入了所需的数量并按更新,但页面仅重新加载1件产品,总数不变。我已经测试过了,我注意到购物车只更新了31件以上的数量。

我已经尝试/检查了以下内容:

  1. 此行存在于cart.phtml中 - getBlockHtml('formkey'); ?>
  2. 这一行出现在cart.phtml中 - getChildHtml('form_before')?>
  3. 没有Javascript错误
  4. 我使用的是默认购物车功能,没有Ajax或其他任何内容。
  5. 我尝试用基本文件夹中的原始文件替换cart.phtml文件,行为是一样的。
  6. 我尝试将商店ID添加到网址,但没有解决问题。
  7. 手动关闭缓存。
  8. php日志中没有错误。
  9. 我在目录/库存中设置了管理库存并重新编制索引,但它没有解决问题。
  10. 任何想法都将不胜感激。

    谢谢, 亚历

1 个答案:

答案 0 :(得分:5)

尝试通过覆盖“本地”

来删除此代码
        if (isset($params['qty'])) {
            $filter = new Zend_Filter_LocalizedToNormalized(
                    array('locale' => Mage::app()->getLocale()->getLocaleCode())
            );
            $params['qty'] = $filter->filter($params['qty']);
        }
来自app \ code \ core \ Mage \ Checkout \ controllers \ CartController.php(第183行)

创建以覆盖 app \ code \ local \ Mage \ Checkout \ controllers \ CartController.php

并通过在“本地”

上覆盖它来删除它
    if (isset($data['qty'])) {
        $cartData[$index]['qty'] = $filter->filter(trim($data['qty']));
    }
来自app \ code \ core \ Mage \ Checkout \ controllers \ CartController.php(第428行)

创建以覆盖 app \ code \ local \ Mage \ Checkout \ controllers \ CartController.php

也可以通过在“本地”

上覆盖它来删除它
    if (isset($params['qty'])) {
        $filter = new Zend_Filter_LocalizedToNormalized(
            array('locale' => Mage::app()->getLocale()->getLocaleCode())
        );
        $params['qty'] = $filter->filter($params['qty']);
    }

来自app \ code \ core \ Mage \ Checkout \ controllers \ CartController.php(第327行)

创建以覆盖 app \ code \ local \ Mage \ Checkout \ controllers \ CartController.php