Campo personalizado en discourseconnect

Estoy intentando pasar un campo de usuario personalizado al registrar a un usuario.

Aquí está el array que estoy usando para registrar…

$parameters =  array(
            'nonce'       => $nonce,
            'external_id' => 'jay',
            'email'       => 'bugsbunny@betaclub.org',
            'username'    => 'bugsbunny@betaclub.org',
            'name'        => 'Bugs Bunny',
            'add_groups'  => 'state_sponsors',
            'custom.experience' => 'Pro',
           'custom.state' => 'FL',
        );

El nombre del campo es Experience, es un campo de selección múltiple y una de las opciones es Pro.
¿No veo que esto se transfiera? También tengo un campo personalizado llamado State, que es un campo de texto. ¿Cómo soluciono esto? No veo nada sobre el campo personalizado en los registros con el registro de Discourse Connect activado.

Si ha creado esos campos a través de Admin → Personalizar → Campos de usuario, debe pasarlos como

$parameters =  array(
            'nonce'       => $nonce,
            'external_id' => 'jay',
            'email'       => 'bugsbunny@betaclub.org',
            'username'    => 'bugsbunny@betaclub.org',
            'name'        => 'Bugs Bunny',
            'add_groups'  => 'state_sponsors',
            'custom.user_field_1' => 'Pro',
            'custom.user_field_2' => 'FL',
        );

Los nombres de los campos no son el nombre que estableció en la interfaz de usuario, sino campos numerados llamados user_field_NUMBER.

5 Me gusta

Eso funcionó, muchas gracias.

¿Sabes cómo poblar un campo de selección múltiple con varios valores?

‘custom.user_field_1’ => ‘Pro, Newbie’,

??

1 me gusta

Curiosamente, estuve investigando esto la semana pasada y, por lo que parece, no admitimos campos de selección múltiple a través de la carga útil de DiscourseConnect en este momento.

Hice algunas pruebas y poblará un campo de selección múltiple si solo se envía un valor.
No funciona: ‘custom.user_field_1’ => ‘Pro, Newbie’,
Sí funciona: ‘custom.user_field_1’ => ‘Pro’,

Esto está bien para nuestras necesidades. Si ese campo es editable por el usuario final, puede agregar otras selecciones según sea necesario.

@Falco Muchas gracias por la ayuda.

1 me gusta

La siguiente pregunta es sobre add_groups. Tengo una lista separada por comas, pero no está agregando al usuario a los grupos.

$parameters =  array(
            'nonce'               => $nonce,
            'external_id'         => $sponsor['spid'],
            'email'               => $sponsor['email'],
            'username'            => $sponsor['email'],
            'name'                => $fullname,
            'add_groups'          => 'state_sponsor, status_sponsor, elect_sponsor',
            'location'            => $location,
            'custom.user_field_1' => $experience, //experience - Newbie, Less than 5, Pro, Old Timer
            'custom.user_field_2' => $club['name'].' ('.$sponsor['new_id'].')',  //school name with clubid
            'custom.user_field_4' => $division, //division
        );

La carga útil informada es:

add_groups=state_sponsor%2C+status_sponsor%2C+elect_sponsor
email=xxxx%40spart1.org
external_id=xxxx
name=Angela+Moore
nonce=xxxx
username=xxxx%40spart1.org
location=Landrum%2C+SC
custom.user_field_1=Pro
custom.user_field_2=Landrum+Middle+School+%28JSC0081%29
custom.user_field_4=Junior

En los registros de discourseconnect veo:

add_groups: state_sponsor, status_sponsor, elect_sponsor
admin: 
moderator: 
avatar_force_update: 
avatar_url: 
bio: 
card_background_url: 
email: xxxx@spart1.org
external_id: xxxxx
groups: 
locale: 
locale_force_update: 
logout: 
name: Angela Moore
nonce: xxxx
profile_background_url: 
remove_groups: 
require_activation: 
return_sso_url: 
suppress_welcome_message: 
title: 
username: xxxx@spart1.org
website: 
location: Landrum, SC

Lo cual parece correcto.
Me gustaría agregar a este usuario a los grupos ‘state_sponsor, status_sponsor, elect_sponsor’.

Necesitas eliminar el espacio entre las comas.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.