Drupal获取模块信息?

sul*_*tan 9 drupal drupal-6

Drupal中是否有任何函数,get_module_info('MODULE_NAME')或者我应该解析info文件?

Sco*_*nen 15

drupal_parse_info_file() 是最接近的函数,但它需要文件路径,而不是模块名称,因此您必须先将名称转换为路径:

$path = drupal_get_path('module', $name) . '/' . $name . '.info';
$info = drupal_parse_info_file($path);
Run Code Online (Sandbox Code Playgroud)


acr*_*let 7

一个更简单的方法(drupal 7及更高版本)是使用system_get_info函数.


Gra*_*ide 5

如果您正在使用Features模块,它创建了一个可靠的结构,用于与System表进行交互,该表很容易适用于任何模块信息收集.

要获取有关模块的信息,请使用features_get_modules($module_name).这将特定于模块的请求分派到features_get_info()features.module的第475行.

信息被缓存,您可以使用hook_system_info_alter()来修改所需的值.请注意,Drupal核心中的任何内容都不会触及此功能,并且仅对您自己的自定义模块功能有用.