Logic87
@Logic87
Программист/администратор сайтов на 1С-Битрикс.

Как разбить свойство заказа ФИО на отдельные поля?

В магазине создано свойство оформление заказа ФИО.
Человек вводит соответственно три слова. Битрикс правильно вписывает в профиль пользователя только Имя и Фамилию. Отчество не записывается в профиль пользователя. Почему?
Решил попробовать через API в init.php разбить ФИО и указать эти данные соответствующим полям профиля. Но не получается.
Если просто прописывать стандартным полям какие-то данные (например логин чтоб был емейлом) то работает так:
AddEventHandler("main", "OnBeforeUserAdd", "OnAfterUserAddHandler");
function OnAfterUserAddHandler(&$arFields){
$arFields["LOGIN"] = $arFields["EMAIL"];
}

Вот я и хотел сюда присваивать полям NAME, LAST_NAME, SECOND_NAME разбитое значение ФИО. Но оно так не работает потому что ФИО есть свойством заказа и судя по всему в этом обработчике (OnAfterUserAdd имеет только &$arFields) его вывести нельзя? Если нельзя то нам надо вытягивать ID заказа, свойства заказа и тогда уже всунуть их в профиль? Каким обработчиком это связать?
  • Вопрос задан
  • 2932 просмотра
Пригласить эксперта
Ответы на вопрос 1
@phper1785
Посмотрете тут
bxapi.ru/src/?module_id=sale&name=CSaleUser::DoAut...
Ну и сам компонент. где - то 168 строка.
По-умолчанию, у Вас строка, разбивается по пробелу, ну и Отчества Соответственно, не записывается.
Как костыль можно попробовать сюда массив передавать через $_REQUEST
$_REQUEST['CODE_PROPERTY_TYPE_NAME_USER'] = ['NAME' => 'ИВАН', 'FIRST_NAME' => 'ИВАНОВ', 'SECOND_NAME' => 'ИВАНОВИЧ']
CODE_PROPERTY_TYPE_NAME_USER - код свойства собственно из которого берется имя нового пользователя.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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