Benutzerdefiniertes Feld in DiscourseConnect

Ich versuche, ein benutzerdefiniertes Benutzerfeld beim Anmelden eines Benutzers zu übergeben.

Hier ist das Array, das ich signiere…

$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',
        );

Der Feldname ist Experience, es ist ein Multiselect-Feld und eine der Optionen ist Pro
Ich sehe nicht, dass dies übermittelt wird? Ich habe auch ein benutzerdefiniertes Feld namens State, das ein Textfeld ist. Wie kann ich das beheben? Ich sehe nichts über das benutzerdefinierte Feld in den Protokollen, wenn die Protokollierung von Discourse Connect aktiviert ist.

Wenn Sie diese Felder über Admin → Anpassen → Benutzerfelder erstellt haben, müssen Sie sie wie folgt übergeben:

$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',
        );

Die Feldnamen sind nicht die Namen, die Sie in der Benutzeroberfläche festgelegt haben, sondern nummerierte Felder namens user_field_NUMMER.

5 „Gefällt mir“

Das hat funktioniert, vielen Dank.

Wissen Sie, wie man ein Mehrfachauswahlfeld mit mehreren Werten befüllt?

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

??

1 „Gefällt mir“

Interessanterweise habe ich mir das letzte Woche angesehen, und es sieht so aus, als ob wir derzeit keine Multi-Select-Felder über die DiscourseConnect-Nutzlast unterstützen.

Einige Tests haben ergeben, dass ein Mehrfachauswahlfeld auch dann gefüllt wird, wenn nur ein einzelner Wert gesendet wird.
Funktioniert nicht: „custom.user_field_1“ => „Pro, Newbie“
Funktioniert: „custom.user_field_1“ => „Pro“

Dies ist für unsere Bedürfnisse in Ordnung. Wenn dieses Feld vom Endbenutzer bearbeitet werden kann, kann er bei Bedarf weitere Auswahlen hinzufügen.

@Falco Vielen Dank für die Hilfe

1 „Gefällt mir“

Die nächste Frage betrifft add_groups. Ich habe eine durch Kommas getrennte Liste, aber die Benutzer werden nicht zu den Gruppen hinzugefügt.

$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
        );

Die gemeldete Nutzlast ist:

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

In den Protokollen für discourseconnect sehe ich:

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

Was korrekt aussieht.
Ich möchte diesen Benutzer zu den Gruppen ‘state_sponsor, status_sponsor, elect_sponsor’ hinzufügen.

Sie müssen das Leerzeichen zwischen den Kommas entfernen.

1 „Gefällt mir“

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