Simplement utiliser la méthode "addRole" sur l'utilisateur en question en lui passant le nom machine (l'id) du rôle :
$user->addRole('mon_role')
Si vous voulez le faire à la création de l'utilsateur alors vous pouvez utiliser le HOOK_user_presave :
Les snippets sont des bouts de code.
Présenté ici de manière volontairement « brute », ces snippets ont vocation à servir d'aide mémoire.
N'hésitez-pas à poser un commentaire si vous rencontrez un problème avec un des éléments.
Vous pouvez utiliser la navigation via les tags présents sur la droite
Simplement utiliser la méthode "addRole" sur l'utilisateur en question en lui passant le nom machine (l'id) du rôle :
$user->addRole('mon_role')
Si vous voulez le faire à la création de l'utilsateur alors vous pouvez utiliser le HOOK_user_presave :
On commence par récupérer le service de gestion des blocks :
$block_manager = \Drupal::service('plugin.manager.block');
On construit le bloc que l'on souhaite via son id
$role = new stdClass(); $role->name = 'Label du rôle'; user_role_save($role);
$role = \Drupal\user\Entity\Role::create([ 'id' => 'nom_machine_du_role', 'label' => 'Label du rôle', ]); $role->save();
Le service retourne un tableau associatif des pays avec comme clé leur code iso 2 (ex : FR => France)
\Drupal::service('country_manager')->getList();
$fields['description'] = BaseFieldDefinition::create('text_long')
->setLabel(t('Description'))
->setSetting('text_processing', FALSE)
->setDisplayConfigurable('view', TRUE)
->setDisplayConfigurable('form', TRUE);
Pour avoir une zo
$fields['classement'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Classement activé'))
->setDescription(t('Doit-on calculer le classement entre les équipes pour cette competitions'))
//est-ce que l'on autorise les modifications
Pour charger toute l'arborescence :
$categories = \Drupal::service('entity_type.manager')
->getStorage('taxonomy_term')
->loadTree('NOM_MACHINE_VOCABULAIRE');
Pour charger que l'arborescence en partant d'un taxon (term) donné :
Ces bouts de codes peuvent être utilisé dans des hook update ou des fonction de post_update.
$fields['subtitle'] = BaseFieldDefinition::create('string')
->setLabel(t('Sous-titre'))
->setDescription(t('Sous-titre de la diapositive'))
->setSetting('max_length', 255)
->setSetting('text_processing', 0)
->setDefaultValue('')
->setD