Регистрация user через процессоры (formit)

Привет,
Сталкнулся с такой проблемой. При регистрации пользователя из фронтенда, не записывается информация в кастомные поля modUserProfile из под ананимного профиля.

Подключаюсь к процессору так:
<?php
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error', 'error.modError', '', '');


// Массив с данными пользователя  
$tel = $hook->getValue('phone');
$chars = ['+','(',')','-']; // символы для удаления
$tel = str_replace($chars, '', $tel);

$dobo = $hook->getValue('birth_at');
list($d, $m, $Y) = explode(".", $dobo);

$pasDate = $hook->getValue('datePassport');
$pasDate = strtotime($pasDate);
function filtr($parametr,$date = '-'){
    $filtr = str_replace($date, '', $parametr);
    return $filtr;
}


$groups = [
  'Users' => [
    'usergroup' => '2', // id группы Users
    'role' => '1' // id роли Member
  ]
];
$data = array(
    'username'=>$tel,
    'groups' => $groups,
    'fullname'=>$hook->getValue('last')." ".$hook->getValue('first')." ".$hook->getValue('patronymic'),
    'email'=>$hook->getValue('email'),
	'mobilephone'=>$hook->getValue('phone'),
	'dob' => $Y.'/'.$m.'/'.$d,
	
	'ip' => $_SERVER['REMOTE_ADDR'],
	
	// Прописка
	'zip'=>$hook->getValue('zip'),
	'state'=>$hook->getValue('region'),
	'city'=>$hook->getValue('city'),
	'street'=>$hook->getValue('street'),
	'building'=>$hook->getValue('building'),
	'apartment'=>$hook->getValue('apartment'),
	
	// Паспорт
	'pasSeriaNumber'=>filtr($hook->getValue('passport'),' '),
	'pasDate'=>$pasDate,
	'pasCod'=>filtr($hook->getValue('unitCod')),
	'pasWho'=>$hook->getValue('passportLocal'),
	'pasPlace'=>$hook->getValue('birthplace'),
	
	'pdDate'=>time(),
	
	'active' => true,
    
    'passwordnotifymethod' => 'e'
);
// запуск процессора
$response = $modx->runProcessor('/security/user/create', $data);
// если есть ошибки выводим ошибки, если нет то пользователь зарегистрирован
if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'login error. Username: '.$username.', Message: '.$response->getMessage());
}
Подскажите светлые умы, что нужно сделать чтоб записывалось в кастомные поля?
Алексей
29 мая 2023, 07:58
modx.pro
394
0

Комментарии: 2

Dan
Dan
29 мая 2023, 11:41
0
А кастомные поля вы как создали? Просто добавили в БД?
Вы должны также сообщить о них самому Modx. Можете воспользоваться этим гайдом. Если не нужно отрисовывать поля в админке, то достаточно одного события OnMODXInit
    Алексей
    30 мая 2023, 08:04
    0
    Кастомные поля созданы с помощью компанента ExtraFields.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2