Русский блог ET

Восстановление пароля на многоязычных сайтах

Начиная с версии Magento 1.6.x изменилась процедура восстановления забытого пароля. Теперь высылается не новый пароль, а ссылка на форму восстановления.
Кроме проблем с макетами (layout) для старых тем есть ещё одна особенность, вызывающая постоянные вопросы владельцев сайтов:

Ссылка на восстановление пароля отсылается не на том языке (представление магазина/Store View), на котором клиент запрашивает пароль, а на том, на котором он первый раз зарегистрировался на сайте. Идентификатор этого представления магазина (и следовательно языка) сохраняется в базе данных и уже никогда не меняется.

Всё это происходит в модели Mage_Customer_Model_Customer в функции
sendPasswordResetConfirmationEmail().

В большинстве случаев хватает изменения значения store_id у нужного клиента (таблица customer_entity), но можно и переписать функцию.

Comments are currently closed.