Я столкнулся с этой проблемой в CE1.9.1.
Когда пользователь регистрируется (неважно, во время проверки или по ссылке «Создать учетную запись»), пользователь продолжает получать ошибку несоответствия пароля, даже если пароль введен правильно.
Проверка формы не указывает на несоответствие, но как только пользователь нажимает «Зарегистрироваться», возвращается ошибка несоответствия.
В консоли chrome нет ошибок ...
Но я не верю, что это та же ошибка.
Мне нужно исправить это в ближайшее время, любая помощь с благодарностью!
Ответы:
Дети класса
Mage_Customer_Model_Customer
должны использоватьgetPasswordConfirmation()
вместоgetConfirmation()
Upd: в классе
Mage_Customer_Model_Customer
методvalidate()
был измененДо v1.9.1:
После:
источник
Наконец-то я смог решить проблему.
Я должен упомянуть, что на самом деле нехорошо, что файлы ядра magento имеют такие проблемы, когда они защищают пароли, думаю, разработчики ядра забыли некоторые простые вещи.
Итак, чтобы исправить эту проблему, вы должны переопределить модель основного клиента в локальном стиле
app/code/local/Mage/Customer/Model/Customer.php
. В этом перейти к линии №. 843 (если вы еще не переопределили) или перейдите к строкеif (strlen($password) && !Zend_Validate::is($password, 'StringLength', array(6))) { $errors[] = Mage::helper('customer')->__('The minimum password length is %s', 6); }
и добавьте следующий код под этим блоком:После этого пароль и подтверждение пароля будут совпадать на страницах «Оформить заказ» и «Создать учетную запись».
Надеюсь, это может кому-то помочь.
источник
Если кто-то все еще не может понять, почему это происходит: расширение Conlabz Useroptin ( http://www.magentocommerce.com/magento-connect/newsletter-double-opt-in-for-customers.html ) может вызвать это поведение также
Обновление 1.1.0 указанного расширения добавляет 1.9 совместимости
источник
У меня есть расширение, которое переопределяет AccountController.php и имеет ту же проблему для платформ Magento ниже 1.9.1
Мое решение было;
источник
Для меня ни то,
$this->getPasswordConfirmation()
ни другое не$this->getConfirmation()
сработало. Оба вернули пустую строку. Поэтому я получил прямой доступ к параметру POST в/app/code/core/Mage/Customer/Model/Customer.php
(да, лучше использовать копию в/app/code/local
):источник
это из-за этого изменения в обновлении 1.9.1. Вы должны обновить свой код расширения. Пароли клиентов больше не сохраняются в виде открытого текста при регистрации.
источник
У меня та же проблема, что и при использовании стороннего расширения для проверки, поэтому эта проблема должна появиться
Я решил эту ошибку, выполнив следующие шаги
Я следую вышеупомянутым шагам, чтобы отладить проблему и решить ее.
источник
Мое решение было
источник
Привет друзья! Эту проблему можно решить, выполнив следующие действия:
Шаг 1: Откройте этот файл
/app/code/core/Mage/Customer/Model/Customer.php
Шаг 2: Найдите эту строку в
Customer.php
$confirmation = $this->getPasswordConfirmation();
Шаге 3: Замените эту строку на$confirmation = $this->getConfirmation();
Ваша проблема теперь решена.
источник