$fields['date_naissance'] = BaseFieldDefinition::create('datetime')
->setLabel(t('Date de naissance'))
->setRequired(TRUE)
->setDefaultValue(NULL)
->setSetting('datetime_type', 'date')
->setDisplayOptions('form', arraSnippets
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
-
-
Drupal vient avec des types d'entité prédéfinis (Node, ou User par exemple). À ces type d'entité il est possible d'ajouter des fields, mais il est aussi possible d'ajouter des propriétés.
Voici comment ajouter des propriétés (prénom et nom) aux utilisateurs.
-
Dans le fichier monmodule.links.menu.yml :
monmodule.menu.cle: title: 'Titre de ma mage' description: 'Liste des options' route_name: view.admin_options.page parent: system.admin_content weight: 90Quelques explications :
-
$fields['photo'] = BaseFieldDefinition::create('image') ->setLabel(t('Photo')) ->setSetting('file_directory', 'formateurs/photos') ->setSetting('file_extensions', 'png jpg jpeg') ->setSetting('min_resolution', '400x400') -
-
Pour faire un champ de base référence à un terme de taxonomie, on va utiliser le type "entity_reference", en lui passant évidement le nom du vocabulaire, (ici "option_types") :
-
Dans Drupal 8 la gestion des menus et des route à été complètement revue, le hook_menu_alter n'existe plus.
-
Pour créer un alias d'url dans le code, au sein d'une fonction d'update par exemple on appelle le service path.alias_storage :
-
Pour définir qu'une route doit utiliser le thème d'administration, il faut utiliser le fichier MON_MODULE.routing.yml.
Cela se fait en défininssant l'option _admin_route à TRUE.
Exemple :
-
// On charge l'entité que l'on veut flaguer $user = User::load(1) $flag_service = \Drupal::service('flag'); $id_du_flag = 'follow_user'; $flag = $flag_service->getFlagById($id_du_flag); $flag_service->flag($flag, $user);