Корзина Magento не обновляет количество в представлении арабского магазина


У меня следующая проблема с установкой Magento 1.8.1. У меня есть два вида магазина: английский, который используется по умолчанию, и арабский.

В представлении магазина на английском языке, если я добавляю товар в корзину, я могу изменить количество, введя новое количество в поле количество и нажав Обновить корзину, что изменит количество и итоговые значения.

Однако, когда я переключаюсь на просмотр магазина на арабском языке, я не могу обновить количество каких-либо товаров. Я ввожу требуемое количество и нажмите обновить, но страница перезагружается только с 1 частью продукта, и итоговые значения не меняются. Я протестировал и заметил, что корзина обновляется только для количеств свыше 31.

Я попробовал/проверил следующее:

  1. Эта строка присутствует в файле cart.phtml - getBlockHtml('ключ формы'); ?>
  2. Эта строка присутствует в файле cart.phtml - getChildHtml('form_before')?>
  3. Ошибок Javascript нет
  4. Я использую корзину по умолчанию функциональность, без Ajax или чего-либо еще.
  5. Я попытался заменить файл cart.phtml исходным файлом в базовой папке, поведение такое же.
  6. Я попытался добавить идентификатор магазина в URL-адрес, это не решило проблему.
  7. Очистил кэш вручную.
  8. В журналах php нет ошибок.
  9. Я настроил Управление запасами в каталоге/инвентаре и переиндексировал, это не решило проблему.

Любые идеи будут очень полезны оцененный.

Спасибо, Алекс

Author: Clain Alexandru, 2014-03-22

1 answers

Попробуйте удалить этот код

        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)

И удалить

    if (isset($data['qty'])) {
        $cartData[$index]['qty'] = $filter->filter(trim($data['qty']));
    }

Из app\code\core\Mage\Checkout\controllers\CartController.php (строка 428)

Также удалите

    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)

 4
Author: Ahmed Fathi, 2014-03-25 11:51:18