php - star - Drupal: cómo obtener la lista de módulos
drupal 8 voting api (6)
¿Cómo obtener la lista de módulos en Drupal como en admin / build / modules ?
El siguiente comando funcionará, produciendo una lista de todos los módulos disponibles junto con el paquete en el que se encuentran, el estado y la versión.
drush pm-list --type=Module --status=enabled
Instale " Drush " (una buena opción, en cualquier caso, una vez que se acostumbre, le encantará). Tiene un comando de compilación para enumerar todos los temas de los módulos instalados.
Si necesita ver la lista de módulos para mostrarla en otro lugar (¡esto puede ser un problema de seguridad!), Puede ver cómo funciona drush (pm.drush.inc:218).
Además, hay una función central , pero no sé si esto es lo que quieres.
Puede usar drush pm-list --type=Module --status=enabled
para obtener una lista de módulos instalados.
Para ver otras opciones, consulte http://www.drupaltonight.com/drupal-articles/using-drush-get-list-enabled-modules
Si desea enumerar todos los módulos disponibles, esto debería funcionar con Drupal 6 o 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;
?>
También puede usar los siguientes comandos para buscar módulos específicos. Si desea enumerar solo el módulo de comercio de la lista de módulos,
drush pml | grep commerce
En la máquina de Windows no puedes usar grep. Entonces debes usar findstr
drush pml | findstr commerce
module_list($refresh = FALSE, $bootstrap_refresh = FALSE, $sort = FALSE, $fixed_list = NULL)
Aquí hay más detalles. http://api.drupal.org/api/drupal/includes!module.inc/function/module_list/7