Intereting Posts

Как установить адрес электронной почты в качестве имени пользователя в Joomla 3.x?

Мне удалось отредактировать большую часть регистрационной формы, добавив поля в базу данных и настроив файлы 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'])); 

    Просто попробуйте этот взломать сейчас и посмотрите, работает ли он. Если это все, что вам нужно сделать, это скопировать этот плагин с изменением и переименовать его в другое (не забудьте восстановить старый код в исходном плагине). Дайте мне знать, как вы идете.