如何以编程方式禁用和卸载Drupal模块?德鲁帕尔 8
2022-08-30 21:34:15
我希望能够在我的本地环境中以编程方式禁用然后卸载模块,然后轻松地将该代码推送到prod,以便更新所有内容。
我猜这是hook_update_N
的东西。但不知道从哪里开始。
我希望能够在我的本地环境中以编程方式禁用然后卸载模块,然后轻松地将该代码推送到prod,以便更新所有内容。
我猜这是hook_update_N
的东西。但不知道从哪里开始。
以为我找到了答案!在模块 .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
在Drupal 8中,现在这只是一个步骤。
要放在里面 :MYMODULE.install
/**
* Uninstall Field UI.
*/
function MYMODULE_update_8001(&$sandbox) {
\Drupal::service('module_installer')->uninstall(['field_ui']);
}