Мне удалось отредактировать большую часть регистрационной формы, добавив поля в базу данных и настроив файлы xml и php-файлы. Я даже нашел бесплатный плагин, который позволяет войти в систему по электронной почте, а не по имени пользователя.
Но я не могу найти способ полностью удалить имя пользователя. или, по крайней мере, удалить его из формы и создать автоматическое имя пользователя (которое пользователю даже не нужно видеть когда-либо)
Я хорошо осведомлен о Email как плагин пользователя, но надеюсь, что смогу это сделать без него.
Так что это будет немного сложно. Joomla не позволяет отправить электронное письмо в плагин аутентификации, поэтому вам придется проксировать его через поле username
.
На сайте я бы создал новый модуль входа, который просто изменил метку поля имени username
на «Электронная почта». Вам все равно нужно сохранить имя поля в качестве username
.
Затем в плагине Joomla Authentication см. https://github.com/joomla/joomla-cms/blob/master/plugins/authentication/joomla/joomla.php#L50
попробуйте изменить эту строку:
->where('email=' . $db->quote($credentials['username']));
Просто попробуйте этот взломать сейчас и посмотрите, работает ли он. Если это все, что вам нужно сделать, это скопировать этот плагин с изменением и переименовать его в другое (не забудьте восстановить старый код в исходном плагине). Дайте мне знать, как вы идете.