Скажите, пожалуйста, что означает сия регистрация пользователя:
[URL=]?
То есть, я понимаю этот пункт так, если пользователь с данным email существует в бд,
тогда все заказы прикрепляются к существующему профилю покупателя?
[URL=]
В связи с этим, я решила создать профиль пользователя при регистрации пользователя.
Предположительно, что регистрация пользователя сделана в момент оформления заказа
Как сделать проверку, если профиль существует (имя профиля = email), то новый профиль не создавать?
А если клиент повторно регистрируется с заданным email, то все заказы прикрепляются к заданному профилю?
(я понимаю, что согласно первому скриншоту, это должно работать, а у нас, почему-то создаются несколько пользователей с
таким же email???)
вот так у меня создается профиль,
при оформлении заказа, если пользователь не зарегистрирован, и он оформляет заказ с таким же email, который есть в бд, то заказ прикрепляется к существующему профилю? Какое событие за это отвечает?
[URL=]?
То есть, я понимаю этот пункт так, если пользователь с данным email существует в бд,
тогда все заказы прикрепляются к существующему профилю покупателя?
[URL=]
В связи с этим, я решила создать профиль пользователя при регистрации пользователя.
Предположительно, что регистрация пользователя сделана в момент оформления заказа
Как сделать проверку, если профиль существует (имя профиля = email), то новый профиль не создавать?
А если клиент повторно регистрируется с заданным email, то все заказы прикрепляются к заданному профилю?
(я понимаю, что согласно первому скриншоту, это должно работать, а у нас, почему-то создаются несколько пользователей с
таким же email???)
| Код |
|---|
AddEventHandler("main","OnAfterUserAdd","OnAfterUserRegisterHandler");
AddEventHandler("main","OnAfterUserRegister","OnAfterUserRegisterHandler");
function OnAfterUserRegisterHandler(&$arFields){
//massiv_pre($arFields);
//AddMessage2Log("-------------------------------------------");
$arFields["LOGIN"]=$arFields["EMAIL"];
$arProfileFields = array(
"NAME"=> $arFields["EMAIL"],
"USER_ID"=> $arFields["ID"],
"PERSON_TYPE_ID"=> $arFields["UF_PERSON_TYPE"],
);
massiv_pre($arProfileFields);
if (CModule::IncludeModule("sale")){
$PROFILE_ID=CSaleOrderUserProps::Add($arProfileFields);
}
if ($PROFILE_ID){
$PROPS=Array(
array(
"USER_PROPS_ID"=>$PROFILE_ID,
"NAME" => "Электронная почта",
"CODE" =>"EMAIL",
"VALUE" => $arFields["EMAIL"],
),
array(
"USER_PROPS_ID"=>$PROFILE_ID,
"NAME" => "Имя",
"CODE" =>"FIO",
"VALUE" => $arFields["LAST_NAME"],
),
array(
"USER_PROPS_ID"=>$PROFILE_ID,
"NAME" => "Номер телефона",
"CODE" =>"PHONE",
"VALUE" => $arFields["PERSONAL_PHONE"],
),
array(
"USER_PROPS_ID"=>$PROFILE_ID,
"NAME" => "Индекс",
"CODE" =>"ZIP",
"VALUE" => $arFields["PERSONAL_ZIP"],
),
array(
"USER_PROPS_ID"=>$PROFILE_ID,
"NAME" => "Город",
"CODE" =>"CITY",
"VALUE" => $arFields["PERSONAL_CITY"],
),
array(
"USER_PROPS_ID"=>$PROFILE_ID,
"NAME" => "Местоположение",
"CODE" =>"LOCATION",
"VALUE" => $arFields["PERSONAL_STATE"].', '.$arFields["PERSONAL_CITY"].' ',
),
array(
"USER_PROPS_ID"=>$PROFILE_ID,
"NAME" => "Адрес доставки",
"CODE" =>"ADDRESS",
"VALUE" => $arFields["PERSONAL_STREET"],
),
);
CSaleOrderUserProps::Update($PROFILE_ID, $PROPS);
AddMessage2Log("profile-id".$PROFILE_ID);
//die();
}
}
|
при оформлении заказа, если пользователь не зарегистрирован, и он оформляет заказ с таким же email, который есть в бд, то заказ прикрепляется к существующему профилю? Какое событие за это отвечает?