Упрощенная регистрация без e-mail в prestashop 1.4.x

Заказчики часто просят максимально упростить процедуру заказов. Активизация существующей в prestashop системы гостевого заказа позволяет частично решить этот вопрос, но все равно остаются некоторые обязательны поля, которые нельзя скрыть обычным образом, и прежде всего поле «e-mail«.

Вообще поле «e-mail» убрать нельзя, так как к нему привязываются данные учетной записи пользователя как при обычной регистрации, так и при гостевой. Обход ввода этого поля реализуется за счет скрытого присвоения его учетной записи произвольного e-mail.

Ниже описаны необходимые правки для обхода ввода e-mail при упрощенной регистрации (гостевом заказе), как при пошаговой, так и при одностраничной регистрации.

При пошаговой регистрации:

Прежде всего необходимо сделать правку в файле контроллера аутентификации пользователей /controllers/AuthController.php

Находим в этом файле примерно в 390-й строке функцию displayContent()

И добавляем в нее вызов функции генерации случайного e-mail:

Ну и естественно саму функцию генерации случайного e-mail:

Функция генерирует e-mail из пяти случайных символов, к которому добавляется временной штамп в домене $domen = ‘@mydomain.com.ua’. Вы можете измените домен и количество символов по вашему усмотрению, отредактировав соответствующие параметры.

Теперь нужно подставить случайным образом генерируемый e-mail в шаблон темы. Для этого открываем на редактирование файл /themes/ваша тема/authentication.tpl и ищем следующий код (примерно 140-я строка):

И заменяем его на:

Т.е автоматически сгенерированный e-mail будет подставляться в соответствующее поле, а само поле будет скрыто.

При одностраничной регистрации:

В этом случае необходимо сделать правку в файле контроллера одностраничной регистрации /controllers/OrderOpcController.php

Как и в случае с регистрацией в 5 шагов ищем функцию displayContent() (примерно 285-я строка) и добавляем туда вызов функции генерацию случайного e-mail и саму функцию:

Кроме этого необходимо сделать правки в файле шаблона /themes/ваша тема/order-opc-new-account.tpl  (примерно 116 строка):

Здесь мы введем скрытое поле, в которое будет подставляться случайно сгенерированный e-mail, а исходное поле для ввода e-mail дополним классом is_customer_param, благодаря чему оно будет отображаться  только при выборе заказа с регистрацией.

Данное решение не претендует на идеальность, но тем не менее мы надеемся что оно поможет вам при решении ваших задач.

Один комментарий на «Упрощенная регистрация без e-mail в prestashop 1.4.x»

  • NataliGod говорит:

    Интеграция по протоколу позволяет обрабатывать заказы в автоматическом режиме. Без интеграции вы будете получать уведомления о платежах на email и обрабатывать их вручную.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *