2013-05-20 150 views
6

有没有办法获取您正在使用的模块的名称?我有一大组模块(约35),具有一些通用功能。长话短说的是,我希望能够获得模块名称而不用硬编码字符串。但愿这不是必要的,但这里有我想要一个想法:获取当前模块名称

function MYMODULE_mycustom_hook($args) { 
    $sCurrModule = 'MYMODULE'; 

    // Operations using $sCurrModule... 
} 

从本质上讲,我可以与模块名称取代“MyModule的”,并用它做的,但我想知道如果有一种方法可以通过编程获得该值。我正在使用Drupal 7.

回答

20

如果你的模块文件是sites/default/modules/MYMODULE/MYMODULE.module那么模块名称是MYMODULE。

$module_name = basename(__FILE__, '.module'); 

可以使用下面的命令编程让它MYMODULE.module文件中