Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Создание заказов без регистрации

00 голосов
9
Сделал интернет-магазин с работой без обязательной регистрации.
Не могу никак разобраться как сделать так, чтобы заказы формировались без регистрации пользователя. Возможно ли это вообще?
спросил 27 Апр, 13 от Wailer (120 баллов)

9 Ответы

00 голосов
Забаньте флудоразносчика!
ответил 27 Апр, 13 от Wildest (500 баллов)
00 голосов
Вот! В две головы сразу попало!
Тоже хотим дать возможность покупки товара без регистрации
пользователя. Это возможно?
ответил 27 Апр, 13 от wlada (180 баллов)
00 голосов
Кто нибудь решил эту проблему, поделитесь рецептом, я в этом деле новичок.
(Если кто не понял о чем я, речь идет о возможности покупки товара без регистрации с указанием некоторых, своих данных).

Заранее спасибо...
ответил 23 Июнь, 13 от grom (140 баллов)
00 голосов
Заказ без регистрации быть не может. Но можно для пользователя сделать "невидимую" регистрацию. В моей реализации интернет-магазина пользователь может указать только e-mail, на него будет создана учетная запись, сгенерирован логин и пароль, они отправляются пользователю на указанный e-mail. Всё. При оформлении заказа он не регистрировался - за него это сделала система, зная e-mail.
ответил 28 Сен, 13 от bazzet (620 баллов)
00 голосов
Цитата
Виталий Оборин пишет:
Заказ без регистрации быть не может. Но можно для пользователя сделать "невидимую" регистрацию. В моей реализации интернет-магази на пользователь может указать только e-mail, на него будет создана учетная запись, сгенерирован логин и пароль, они отправляются пользователю на указанный e-mail. Всё. При оформлении заказа он не регистрировался - за него это сделала система, зная e-mail.


Интересно, а как это реализовать?
ответил 29 Дек, 13 от grom (140 баллов)
00 голосов
Надо переписывать компонент оформления заказа. Логика такая. Если заказ отправлен неавторизованным пользователем, тогда создаем нового пользователя, используя его e-mail. Авторизуем его. Всё - заказ поступил от зарегистрированного и авторизованного пользователя. Вот собственно кусок регистрации и авторизации нового пользователя:
Код
         $user_login = $user_login.$suffix; // Новый логин пользователя
         $password = randString(8); // Генерируем пароль из 8 символов. Его потом надо будет на емыл ему отправить
         $new_user_id = $USER->Add(array(
            'LOGIN' => $user_login,
            'NAME' => $user_name1,
            'LAST_NAME' => $user_name2,
            'EMAIL' => $user_email,
            'PASSWORD' => $password, // Нах мне два пароля писать - непонятно
            'CONFIRM_PASSWORD' => $password,
            'GROUP_ID'=>COption::GetOptionInt('main', 'new_user_registration_def_group'), // Назначем группу по умолчанию
            'ACTIVE' => "Y",
            'ADMIN_NOTES'=>"Зарегистрирован автоматически при оформлении заказа"
         ));
         if ($new_user_id > 0) {
            $USER->Authorize($new_user_id);
            $arResult['NEW_USER'] = array(
               'LOGIN' => $user_login,
               'EMAIL' => $user_email,
               'PASSWORD' => $password,
            );
            // Отправка сообщения пользователю с его логином и паролем
            CEvent::Send("NEW_AUTO_REGISTERED_USER", SITE_ID, array(
               'NAME' => $user_name1,
               'LOGIN' => $user_login,
               'PASSWORD' => $password,
               'EMAIL' => $user_email,
            ));
         }
ответил 14 Апр, 14 от bazzet (620 баллов)
00 голосов
Немного уточню еще по своему коду.
Код
$user_login = $user_login.$suffix;

$user_login - это первая часть e-mail до @. $suffix - это номер, если $user_login занят. Т.е. если пользователь создает заказ с e-mail "user@email.ru", то сначала проверяется занятость в базе логина user. Если занято, то начинается перебор user1, user2, user3 и т.д. до первого свободного. В итоге имеем гарантированно свободный логин.
Код
CEvent::Send("NEW_AUTO_REGISTERED_USER"...

Это мое собственное событие для регистрации новых пользователей при оформлении заказа.
ответил 07 Авг, 14 от bazzet (620 баллов)
00 голосов
И куда Вписать этот код?
ответил 12 Дек, 14 от grom (140 баллов)
00 голосов
странно как-то, во многих цмс это реализовано без доработок... не все клиенты хотят регистрироваться, заполнять поля какие-то и т.д.
ответил 03 Апр, 15 от Tormozill (160 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 23 Апр, 14 от Kania (5,180 баллов)
0 голосов
8 ответов
+1 голос
2 ответов
0 голосов
1 ответ