Jay_Moore
(Jay Moore)
22 Febbraio 2022, 7:31pm
1
Sto cercando di passare un campo utente personalizzato durante la registrazione di un utente.
Ecco l’array che sto usando per la registrazione…
$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',
);
Il nome del campo è Experience, è un campo multiselect e una delle opzioni è Pro.
Non lo vedo arrivare? Ho anche un campo personalizzato chiamato State, che è un campo di testo. Come posso risolvere questo problema? Non vedo nulla riguardo al campo personalizzato nei log con la registrazione di Discourse Connect attivata.
Falco
(Falco)
22 Febbraio 2022, 7:40pm
2
Se hai creato quei campi tramite Admin → Personalizza → Campi utente, devi passarli come
$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',
);
I nomi dei campi non sono il nome che hai impostato nell’interfaccia utente, ma campi numerati chiamati user_field_NUMERO.
5 Mi Piace
Jay_Moore
(Jay Moore)
22 Febbraio 2022, 8:02pm
3
Ha funzionato, grazie mille.
Sai come popolare un campo multiseleziona con più valori?
‘custom.user_field_1’ => ‘Pro, Newbie’,
??
1 Mi Piace
Falco
(Falco)
22 Febbraio 2022, 8:36pm
4
Curiosamente stavo esaminando la questione la scorsa settimana e, a quanto pare, al momento non supportiamo i campi di selezione multipla tramite il payload di DiscourseConnect .
Jay_Moore
(Jay Moore)
24 Febbraio 2022, 12:39pm
7
Ho fatto dei test e popolerà un campo multi-select se viene inviato un solo valore.
Non funziona - ‘custom.user_field_1’ => ‘Pro, Newbie’,
Funziona - ‘custom.user_field_1’ => ‘Pro’,
Questo va bene per le nostre esigenze. Se quel campo è modificabile dall’utente finale, può aggiungere altre selezioni secondo necessità.
@Falco Grazie mille per l’aiuto
1 Mi Piace
Jay_Moore
(Jay Moore)
24 Febbraio 2022, 2:16pm
8
La prossima domanda riguarda add_groups. Ho un elenco delimitato da virgole, ma non sta aggiungendo l’utente ai gruppi.
$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
);
Il payload segnalato è:
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
Nei log di discourseconnect vedo:
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
Che sembra corretto.
Vorrei aggiungere questo utente ai gruppi ‘state_sponsor, status_sponsor, elect_sponsor’.
Falco
(Falco)
24 Febbraio 2022, 5:54pm
9
Devi rimuovere lo spazio tra le virgole.
1 Mi Piace
system
(system)
Chiuso
26 Marzo 2022, 6:01pm
11
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.