Скажите, пожалуйста, что означает сия регистрация пользователя:
[URL=http://joxi.ru/krDJBQ7H03Meg2]http://joxi.ru/krDJBQ7H03Meg2[/URL ]?
То есть, я понимаю этот пункт так, если пользователь с данным email существует в бд,
тогда все заказы прикрепляются к существующему профилю покупателя?
[URL=http://joxi.ru/52ab6pJUGW97gA]http://joxi.ru/52ab6pJUGW97gA[/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, который есть в бд, то заказ прикрепляется к существующему профилю? Какое событие за это отвечает?