Am un API personalizat care creează noi Client
profiluri cu adrese/e-mailuri diferite:
$profileStorage->create([
'type' => 'client',
'uid' => $this->currentUser->id(),
„stare” => 1,
'address' => $addressData
])
$profil->setDefault(true);
$profil->salvare();
Funcționează creând acele profiluri și atașându-le utilizatorului curent. Cu toate acestea, apoi după ori de câte ori încerc să editez câmpurile contului utilizatorului sau doar folosesc $user->validate()
Primesc aceasta eroare:
"customer_profiles: Profiluri client: acest câmp nu poate conține mai mult de 1 valoare."
Cu toate acestea, Tipul de profil client are selectate atât „Permite mai multe profiluri per utilizator”, cât și „Profilurile de acest tip reprezintă profiluri de clienți Commerce”.
Acesta a fost cazul în Drupal 8 și 9.
ACTUALIZAȚI:
Se pare că această eroare apare de fapt la $entity->validate()
, nu pe salva()
Acesta este conținutul core.entity_form_display.profile.customer.default.yml
uuid: xxx7f0e2-d809-4d2b-9388-af399c98xxxx
langcode: en
stare: adevărat
dependențe:
config:
- câmp.câmp.profil.adresă.client
- field.field.profile.customer.field_email
- profil.tip.client
modul:
- abordare
aplicat:
modul:
- comerț_comanda
_nucleu:
default_config_hash: xxxxVkJkUSPhil9xxxxdTivMqxCUloT_71AHWxxxx
id: profile.customer.default
targetEntityType: profil
pachet: client
mod: implicit
conţinut:
abordare:
tip: address_default
greutate: 0
regiune: continut
setări: { }
setări_terți: { }
field_email:
tip: email_default
greutate: 1
regiune: continut
setari:
substituent: ''
dimensiune: 60
setări_terți: { }
ascuns: { }
si continutul lui profil.tip.client.yml
uuid: xxxx4f32-xxxx-xxxx-xxxx-bd10470bxxxx
langcode: en
stare: adevărat
dependențe:
aplicat:
modul:
- comerț_comanda
setări_terți:
commerce_order:
customer_profile_type: adevărat
_nucleu:
default_config_hash: xxxxAQDUxxxxwavxxxxlcbJx9xxxxFtCq8l73Axxxx
id: client
etichetă: client
display_label: „Informații despre client”
multiplu: adevărat
înregistrare: fals
roluri:
authenticated: autentificat
verified_email: verified_email
verificat_cc: verificat_cc
allow_revisions: false
new_revision: fals