Как получить список модулей в Drupal, как в admin/build/modules?
Drupal: как получить список модулей
Ответ 1
Установите " Drush " (хороший вариант в любом случае, как только вы к нему привыкнете, он вам понравится). Он имеет встроенную команду для вывода списка всех установленных тем модулей.
Если вам нужно просмотреть список модулей, чтобы отобразить его в другом месте (это может быть проблемой безопасности!), Вы можете посмотреть, как это делает drush (pm.drush.inc:218).
Кроме того, есть основная функция, но я не знаю, хотите ли вы этого.
Ответ 2
Вы можете использовать команду drush pm-list --type=Module --status=enabled
для получения списка установленных модулей.
Для получения дополнительных параметров, пожалуйста, ознакомьтесь с http://www.drupaltonight.com/drupal-articles/using-drush-get-list-enabled-modules
Ответ 3
module_list($refresh = FALSE, $bootstrap_refresh = FALSE, $sort = FALSE, $fixed_list = NULL)
Вот более подробная информация. http://api.drupal.org/api/drupal/includes!module.inc/function/module_list/7
Ответ 4
Если вы хотите перечислить все доступные вам модули, это должно работать либо с Drupal 6, либо с 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;
?>
Ответ 5
Вы также можете использовать следующие команды для поиска определенных модулей. Если вы хотите перечислить только модуль коммерции из списка модулей, чем
drush pml | grep commerce
На машине Windows вы не можете использовать grep. Таким образом, вы должны использовать findstr
drush pml | findstr commerce
Ответ 6
Следующая команда будет работать, выводя список всех доступных модулей вместе с пакетом, в который они входят, статус и версия.
drush pm-list --type=Module --status=enabled