Подтвердить что ты не робот

Как программно отключить и удалить модуль Drupal?

Я хочу, чтобы можно было отключить, а затем удалить модуль программным образом в моей локальной среде, а затем легко надавить на этот код, чтобы все обновлялось. Я предполагаю что-то с hook_update_N (http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_update_N/7), но не знаю, с чего начать.

4b9b3361

Ответ 1

Думаю, я нашел ответ! В файле modules.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

Ответ 2

Drupal 8

Для размещения внутри MYMODULE.install:

/**
 * Uninstall Field UI.
 */
function MYMODULE_update_8001(&$sandbox) {

  \Drupal::service('module_installer')->uninstall(['field_ui']);

}