Мне нужно сделать так, чтобы после быстрой регистрации во время оформления заказа (компонент bitrix:sale.order.ajax) пользователь получал email, где указан его пароль. Это нужно для того, чтобы сократить пользователю время и нервы на придумывание пароля при оформлении заказа.
В файле bitrix/components/bitrix/sale.order.ajax/component.php есть такие строки:
Хорошо бы вместо CUser::SendUserInfo сделать отправку письма по своему шаблону. Для этого, насколько я понял, мне придётся скопировать целиком весь компонент и модифицировать его, чтобы не потерять код после обновления ядра.
Ещё попробовал вот такой способhttp://dev.1c-bitrix.ru/community/webdev/user/17138/blog/1740/ , но он не сработал по каким-то причинам.
Возможно есть ещё более и элегантный простой способ сделать то что я описал.
Как лучше сделать? Посоветуйте.
Спасибо.
В файле bitrix/components/bitrix/sale.order.ajax/component.php есть такие строки:
Код |
---|
if($password_min_length <= 0) $password_min_length = 6; $password_chars = array( "abcdefghijklnmopqrstuvwxyz", "ABCDEFGHIJKLNMOPQRSTUVWXYZ", "0123456789", ); if($arPolicy["PASSWORD_PUNCTUATION"] === "Y") $password_chars[] = ",.<>/?;:'\"[]{}\|`~!@#\$%^&*()-_+="; $NEW_PASSWORD = $NEW_PASSWORD_CONFIRM = randString($password_min_length+2, $password_chars); $user = new CUser; $arAuthResult = $user->Add(Array( "LOGIN" => $NEW_LOGIN, "NAME" => $NEW_NAME, "LAST_NAME" => $NEW_LAST_NAME, "PASSWORD" => $NEW_PASSWORD, "CONFIRM_PASSWORD" => $NEW_PASSWORD_CONFIRM, "EMAIL" => $NEW_EMAIL, "GROUP_ID" => $GROUP_ID, "ACTIVE" => "Y", "LID" => SITE_ID, ) ); if (IntVal($arAuthResult) <= 0) { $arResult["ERROR"][] = GetMessage("STOF_ERROR_REG").((strlen($user->LAST_ERROR) > 0) ? ": ".$user->LAST_ERROR : "" ); } else { $USER->Authorize($arAuthResult); if ($USER->IsAuthorized()) { if($arParams["SEND_NEW_USER_NOTIFY"] == "Y") CUser::SendUserInfo($USER->GetID(), SITE_ID, GetMessage("INFO_REQ"), true); } |
Ещё попробовал вот такой способ
Возможно есть ещё более и элегантный простой способ сделать то что я описал.
Как лучше сделать? Посоветуйте.
Спасибо.