Добрый день. Кт-нибудь ставлкивался с таким:
1. Зарегистрированный клиент с русским адресом делает заказ.
2. На первом этапе "Информация о платильщике" уже введены данные, и при нажатии "Продолжить" появляется сообщение:
""Street Address" длина должна быть равна или больше чем 1 символов.
"Street Address" длина должна быть равна или больше чем 1 символов."
Я пробывал ввести в адресе перед "ул..." любые английские буквы, например "ul", то никакая ошибка не возникает.
А пробую заказать как "незарегистрированный клиент", ввожу все на русском, кроме e-mail, отлично заказывает без ошибок.
В чем может быть проблема?
Ошибка "Street Address" длин должна быть равна или больше чем 1 символов
Ошибка "Street Address" длин должна быть равна или больше чем
08.03.2011 13:51
Это известный дефект Magento 1.5.0.1.
Он будет исправлен в следующей версии.
Пока можете устранить дефект следующей заплаткой.
Откройте файл app/code/core/Mage/Checkout/Model/Type/Onepage.php
Найдите там в двух местах следующий код:
(исправлено)
В обоих случаях перед этим кодом напишите:
Он будет исправлен в следующей версии.
Пока можете устранить дефект следующей заплаткой.
Откройте файл app/code/core/Mage/Checkout/Model/Type/Onepage.php
Найдите там в двух местах следующий код:
$addressErrors = $addressForm->validateData($address->getData());
(исправлено)
В обоих случаях перед этим кодом напишите:
$address->setData("street",explode("n",$address->getData("street")));
08.03.2011 14:02
Дмитрий, я сделал так как Вы сказали, добавил в файл Onepage.php код в двух местах, но, почемуто результат остался прежним.
Может я что-то не доделал. У меня получился такой код:
1-й код:
2-й код:
Может я что-то не доделал. У меня получился такой код:
1-й код:
// emulate request object $addressData = $addressForm->extractData($addressForm->prepareRequest($data)); $address->setData("street",explode("n",$address->getData("street"))); $addressErrors = $addressForm->validateData($addressData); if ($addressErrors !== true) { return array('error' => 1, 'message' => $addressErrors); } $addressForm->compactData($addressData);
2-й код:
// emulate request object $addressData = $addressForm->extractData($addressForm->prepareRequest($data)); $address->setData("street",explode("n",$address->getData("street"))); $addressErrors = $addressForm->validateData($addressData); if ($addressErrors !== true) { return array('error' => 1, 'message' => $addressErrors); } $addressForm->compactData($addressData);
08.03.2011 14:27
Верно, чуть ошибся.
Указанные строчки напишите перед
там тоже 2 вхождения
Исправил исходное сообщение.
Указанные строчки напишите перед
$addressErrors = $addressForm->validateData($address->getData());
там тоже 2 вхождения
Исправил исходное сообщение.
08.03.2011 14:33
ОТЛИЧНО!!! БЛАГОДАРЮ ЗА ПОМОЩЬ ДМИТРИЙ. ТЕПЕРЬ ЗАРАБОТАЛО!!! ЗАКАЗЫ ПРОХОДЯТ БЕЗ ОШИБОК!!!
20.03.2011 15:35
Исправление включено в предварительную версию Magento 1.5.1.0-beta1 от 18 марта.
Обновляться до неё пока не стоит, потому что это предварительная версия, но включение говорит о том, что в Magento 1.5.1.0 этой ошибки в ядре не будет.
Обновляться до неё пока не стоит, потому что это предварительная версия, но включение говорит о том, что в Magento 1.5.1.0 этой ошибки в ядре не будет.
25.03.2011 02:37
В интересах клиентов Российской сборки включил в Российскую сборку исправление данного дефекта ядра Magento.
Обратите внимание, что, в отличие от «быстрого и грязного» решения, опубликованного здесь, заплатка Российской сборки не затрагивает и не меняет ни единого системного файла Magento.
Поэтому клиентам Российской сборки, которые уже исправили дефект правкой системного файла app/code/core/Mage/Checkout/Model/Type/Onepage.php, настоятельно рекомендую вернуть данный файл в исходный эталонный вид, и просто включить указанную на картинке опцию в настройках Российской сборки:
Предварительно обновите Российскую сборку до версии 1.3.12.
При обновлении в рамках ветки 1.3 достаточно:
1) отключить кеш и компиляцию
2) установить новую версию поверх старой
3) включить кеш и компиляцию
Обратите внимание, что, в отличие от «быстрого и грязного» решения, опубликованного здесь, заплатка Российской сборки не затрагивает и не меняет ни единого системного файла Magento.
Поэтому клиентам Российской сборки, которые уже исправили дефект правкой системного файла app/code/core/Mage/Checkout/Model/Type/Onepage.php, настоятельно рекомендую вернуть данный файл в исходный эталонный вид, и просто включить указанную на картинке опцию в настройках Российской сборки:
Предварительно обновите Российскую сборку до версии 1.3.12.
При обновлении в рамках ветки 1.3 достаточно:
1) отключить кеш и компиляцию
2) установить новую версию поверх старой
3) включить кеш и компиляцию