Я хочу создать страницу входа, которая использует назначенный номер клиента вместо его адреса электронной почты. При настройке моего бизнеса на отдельной платформе eComms они получают доступ к своей учетной записи с помощью номера клиента, поскольку они являются несколькими менеджерами учетных записей для одной учетной записи. Я создаю для них учетные записи, а затем назначаю номер клиента, который они затем используют для входа, с паролем.
Любая помощь будет принята с благодарностью.
magento-1.9
customer
login
Алекс РГ
источник
источник
Ответы:
Можно реализовать базовую логику с небольшим количеством пользовательского кода:
Напишите наблюдателю
controller_predispatch_customer_account_loginPost
, проверьтеusername
, не выглядит ли опубликованный адрес электронной почты ( ) как адрес электронной почты. В этом случае найдите клиента по номеру клиента и замените поле имени пользователя в данных POST фактическим адресом электронной почты найденного клиента.Пример кода наблюдателя:
Затем
controller_postdispatch_customer_account_loginPost
, замените адрес электронной почты в сеансе обратно на номер клиента, если он установлен. В противном случае сообщения об ошибках при неудачных входах в систему будут содержать адрес электронной почты вместо номера.Пример кода наблюдателя:
Другие вещи для рассмотрения:
increment_id
номер клиента, который можно включить в конфигурации системы в разделе « Конфигурация клиента»> «Создать параметры новой учетной записи»> «Создать удобный для пользователя идентификатор клиента».источник
Почему просто цифры ...
https://github.com/diglin/Diglin_Username
С этим расширением вы можете сделать так, чтобы люди входили с именами пользователей. Очевидно, что вы можете заблокировать эти «имена пользователей» на «номера счетов» без особых проблем.
источник