Автор Тема: Как вместо email логиниться по номеру телефона и убрать email из обязательных  (Прочитано 77 раз)

13 Декабрь 2018, 07:40:59
  • Пользователь
  • **
  • Сообщений: 99
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Привет друзья!
Как вместо email логиниться по номеру телефона и убрать email из обязательных.
Престашоп версии 1.6

Можно ли не создавая новое поле в таблице ps_customer в поле email сохранять телефонный номер: просто переименовать в tpl "адрес E-mail" в "номер сотового телефона" и отключить проверку вводимых в поле данных на соответствие формату почтовых адресов?

Нашел следующее:
Для того что-бы избавиться от проверки на соответствия шаблону емейла и иметь возможность написать моб. телефон, в файле /classes/Validate.php 48 строка
Код:
return empty($email) OR preg_match('/^[a-z0-9!#$%&\'*+\/=?^`{}|~_-]+[.a-z0-9!#$%&\'*+\/=?^`{}|~_-]*@[a-z0-9]+[._a-z0-9-]*\.[a-z0-9]+$/ui', $email);нужно изменить на строку
Код:
return empty($email) OR preg_match('/^[+0-9. ()-]*$/', $email);
Появится возможность регистрироваться с помощью мобильного...

Но будет баг, что движок будет пытаться отправит на емайл письмо.
Если все правильно, то задача только в том, чтобы отключить отправку писем?

14 Декабрь 2018, 17:39:03
Ответ #1
  • Пользователь
  • **
  • Сообщений: 99
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
15 Декабрь 2018, 07:54:53
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 15431
  • Репутация: +14594/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop к email-логину много что привязано. Менять придеться много. Нет смысла переделывать.
Кроме проверки поля при регистрации, еще проверка на существование такого email, отправка письма, восстановление пароля, поле в базе/классе, проверка на заполение во всех конторллерах...