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: 90
Quelques explications :
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
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: 90
Quelques 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);
$fields['photos_number'] = BaseFieldDefinition::create('list_integer') ->setLabel(t('Nombre de photos autorisées')) ->setRequired(TRUE) ->setSettings(array( 'allowed_values' => [ 1 => t('1 photo'), 2 => t('2
Pour installer un module via le code dans drupal 8 il faut utiliser le service ModuleInstaller, exemple avec le snippet suivant :