web-dev-qa-db-fra.com

Drupal: comment obtenir la liste des modules

Comment obtenir la liste des modules dans Drupal comme dans admin/build/modules ?

22
sultan

Installez " Drush " (une bonne option dans tous les cas, une fois que vous vous y serez habitué, vous allez adorer). Il a une commande build in pour lister tous les thèmes des modules installés.

Si vous avez besoin de voir la liste des modules pour l’afficher ailleurs (cela peut être un problème de sécurité!), Vous pouvez regarder comment drush le fait (pm.drush.inc:218).

De plus, il existe une fonction core , mais je ne sais pas si c'est ce que vous voulez.

8
DrColossos

Vous pouvez utiliser la commande drush pm-list --type=Module --status=enabled pour obtenir une liste des modules installés.

Pour d'autres options, consultez http://www.drupaltonight.com/drupal-articles/using-drush-get-list-enabled-modules

47
Gokul N K

La commande suivante fonctionnera en affichant la liste de tous les modules disponibles ainsi que le package, l'état et la version dans lesquels ils se trouvent.

drush pm-list --type=Module --status=enabled
1
Dev

Si vous voulez lister tous les modules disponibles, cela devrait fonctionner avec Drupal 6 ou Drupal 7:

<?php
// include_once('.' . base_path() . drupal_get_path('module', 'system') . '/system.admin.inc');
// Above line was intentionally commented out (see below).
$drupal_version = (int) VERSION;
$list_modules_function = '';
if ($drupal_version >= 7 && $drupal_version < 8) {
  $list_modules_function = 'system_rebuild_module_data';
}
else if ($drupal_version >= 6 && $drupal_version < 7) {
  $list_modules_function = 'module_rebuild_cache';
}
if (empty($list_modules_function)) {
  $output = t('Oops... Looks like you are not using either version 6 or version 7 of Drupal');
}
else if (!function_exists($list_modules_function)) {
  $output = t('Oops... Unable to find the function !function(). Try uncommenting the top line of this code.', array('!function' => $list_modules_function));
}
else {
  $output = "<dl>\n";
  $list_modules = $list_modules_function();
  foreach ($list_modules as $module) {
    $output .= "<dt>" . check_plain($module->info["name"]) . "</dt>\n";
    $output .= "<dd>" . check_plain($module->info["description"]) . "</dd>\n";
  }
  $output .= "</dl>\n";
}
print $output;
?>
1
jerdiggity
module_list($refresh = FALSE, $bootstrap_refresh = FALSE, $sort = FALSE, $fixed_list = NULL)

Voici plus de détails. http://api.drupal.org/api/drupal/includes!module.inc/function/module_list/7

1
Kandinski

Vous pouvez également utiliser les commandes suivantes pour rechercher des modules spécifiques. Si vous souhaitez répertorier uniquement le module de commerce de la liste des modules,

drush pml | grep commerce

Sur les machines Windows, vous ne pouvez pas utiliser grep. Donc, vous devez utiliser findstr

drush pml | findstr commerce
1
Firoz Sabaliya