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

Как упростить регистрацию пользователей?

00 голосов
4
Делаю интернет-магазин (громко сказано).
Включены компоненты: авторизация, корзина, заказ.
1. Хочу упростить жизнь незарегистрированным посетителям магазина
Для этого надо сделать изменения в стандартной процедуре (многошагового) оформления заказа:
Если пользователь НЕ зарегистрирован, но нажимает в корзине кнопку "Оформить заказ", то вместо стандартной страницы авторизации он должен сразу попасть на страницу step2.php (заполнение профиля), пропустив шаг 1 (step1.php)
А для сохранения всей структуры оформления заказа пусть незарегистрированному пользователю в момент нажатия кнопки "Оформить заказ" всегда программно присваивается одно и то же условное имя (например) "wsxcderfv", условный пароль "qwedcxsw".
И чтобы безошибочно пропускать step1.php (выбор типа плательщика) там же программно присваивать тип плательщика = физическое лицо.
А для того, что бы каждый новый незарегистрированный пользователь не видел профиль предыдущего пользователя (п/я, адрес и т.д.), то после окончания оформления заказа (кнопка "Подтвердить заказ") профиль пользователя "wsxcderfv" должен программно удаляться, что заставит каждого нового незарегистрированного пользователя заполнять новый профиль.
Вероятностью одновременной работы с заказом двух незарегистрированных пользователей (т.е. зарегистрированных под одним именем "wsxcderfv") - пренебрегаем.
2. При заполнении профиля список "Местоположение" начинается с Азербайджана.
Как установить этот компонент формы на значение по умолчанию = ID = 768 (Санкт-Петербург)?

P.S. Компонент "одношаговый заказ" использовать не могу по целому ряду причин.
спросил 18 Июль, 13 от Mudak (220 баллов)

4 Ответы

00 голосов
Цитата
Используйте стандартный компонент "Одношаговое оформление заказа" (sale.order.ajax).
У него есть параметр "Оформлять заказ с автоматической регистрацией пользователя".
ответил 18 Июль, 13 от smileplz (8,020 баллов)
00 голосов
Для решения пп.1 в файле template.php (шаблон заказа)
написал:

if (!$USER->IsAuthorized())
{
$USER_LOGIN = "uuyuyyuyyuyttyr";
$USER_PASSWORD = "vgfdsdrtghghhytr";
$USER->Authorize(1799);
}

Это логин и пароль уже существующего зарегистрированного пользователя (ID = 1799).

Но при переходе на шаг 1 (step1.php (выбор типа плательщика)) не появляются на форме переключатели (физическое - юридическое лицо),
а требуется:
1. по умолчанию присвоить тип (еще в файле template.php): физическое
2. пропустить шаг 1 и сразу перейти к шагу 2 (step2.php )
ответил 09 Сен, 13 от Mudak (220 баллов)
00 голосов
А как отключить в оформлении заказа создание профиля?
Сам профиль у меня создается при регистрации пользователя один раз. Но никак не могу добиться,чтобы он не создавался при очередном заказе одного и того же пользователя:(
Подскажите,пожалуйста, может кто-то уже сталкивался с такой задачкой?
ответил 07 Дек, 13 от KABUCHA (100 баллов)
00 голосов
Не очень удачное решение, но все же: в init.php

Код
   AddEventHandler("main", "OnBeforeProlog", "CheckSectionOrder");
   function CheckSectionOrder()
   {
      global $USER;
      global $APPLICATION;
      if((strpos($APPLICATION->GetCurDir(), "/basket/order/") !== false) && (!$USER->IsAuthorized()))
      {
         $USER->Authorize(2);
      } else {
         if(($USER->IsAuthorized()) && ($USER->GetID() == 2) && (strpos($APPLICATION->GetCurDir(), "/basket/order/") === false))
         {
            $USER->Logout();
         }
      }
   }

Все заказы оформляются на пользователя c ID=2
ответил 20 Март, 14 от Run (1,300 баллов)

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

0 голосов
3 ответов
0 голосов
2 ответов
спросил 26 Апр, 14 от H9kA (480 баллов)