如何以编程方式禁用和卸载Drupal模块?

时间:2012-12-04 17:49:04

标签: php drupal drupal-7 drupal-modules

我希望能够在我的本地环境中以编程方式禁用然后卸载模块,然后轻松地将该代码推送到prod,以便所有内容都得到更新。

我猜这是hook_update_N的东西。但不知道从哪里开始。

3 个答案:

答案 0 :(得分:38)

想想我找到了答案!在模块.install文件中,我添加了以下代码:

/**
 * Disable and uninstall the module.
 */
function MODULE_update_7200() {
  if( module_exists('MODULE')) {
    module_disable(array('MODULE'));
    drupal_uninstall_modules(array('MODULE'));
  }
}

函数中的数字应该反映你的drupal安装。请在此处查看如何编号:http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_update_N/7

答案 1 :(得分:2)

Drupal 8

在Drupal 8中,这只是一步。

放在result = result['result'][pair] 内:

MYMODULE.install

答案 2 :(得分:0)

在Drupal 8中,您可以使用配置API来启用和禁用模块。 例如,如果要启用devel模块。您必须将以下代码添加到core.extension.yml devel: 0 如果要卸载,则必须从core.extension.yml

中删除devel: 0