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 заказа, свойства заказа и тогда уже всунуть их в профиль? Каким обработчиком это связать?
  • Вопрос задан
  • 2768 просмотров
Пригласить эксперта
Ответы на вопрос 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 - код свойства собственно из которого берется имя нового пользователя.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:21
1200 руб./в час
26 апр. 2024, в 10:10
1000 руб./за проект