Dans Drupal 7, vous pouvez utiliser module_exists () pour vérifier si un module est activé (ainsi que s'il existe).
Par exemple,
if (module_exists('devel')) {
Comment pouvez-vous vérifier si un module est activé dans Drupal 8?
Dans Drupal 7, vous pouvez utiliser module_exists () pour vérifier si un module est activé (ainsi que s'il existe).
Par exemple,
if (module_exists('devel')) {
Comment pouvez-vous vérifier si un module est activé dans Drupal 8?
Tout comme Clive mentionne ....
le service serait préférable à l'utilisation de \ Drupal (en supposant que c'est une option dans le contexte actuel)
Voici un exemple de vérification si un module est activé mais en utilisant un service.
$moduleHandler = \Drupal::service('module_handler');
if ($moduleHandler->moduleExists('devel')){
// Code Here
}
\Drupal::moduleHandler
finit par faire un appel équivalent pour obtenir le service "module_handler" de toute façon (voir le doco moduleHandler ). Le mot clé dans le commentaire de Clives était l' injection , c'est-à-dire la transmission du service à un constructeur.Comme ça:
la source
module_handler
service serait préférable à l'utilisation\Drupal
(en supposant que c'est une option dans le contexte actuel)