Drupal получить информацию о модуле?

есть ли какая-либо функция в Drupal, как get_module_info('MODULE_NAME') или я должен разобрать ?

3 ответов


drupal_parse_info_file() является ближайшей функцией, но она принимает путь к файлу, а не имя модуля, поэтому сначала вы должны преобразовать имя в путь:

$path = drupal_get_path('module', $name) . '/' . $name . '.info';
$info = drupal_parse_info_file($path);

несколько более простой метод (drupal 7 и выше) - использовать system_get_info


Если вы используете особенности модуль, он создал прочную структуру для взаимодействия с системной таблицей, которая легко адаптируется для любого сбора информации о модуле.

чтобы получить информацию о модуле, используйте features_get_modules($module_name). Это отправляет запрос конкретного модуля в features_get_info() в строке 475 функций.модуль.

информация кэшируется, и вы можете использовать hook_system_info_alter() для изменения необходимых вам значений. Обратите внимание, что это функциональность не затрагивается ничем в Drupal core и полезна только для вашей собственной функциональности пользовательского модуля.