Drupal → Изменения веса модуля при его установке

24.01.2012

Добавить в modulename.install:

Drupal 7

/**
 * Implements hook_install().
 */
function modulename_install() {
  db_update('system')
    ->fields(array('weight' => 123))
    ->condition('name', 'modulename')
    ->execute();
}

Drupal 6

/**
 * Implements hook_install()
 */
function modulename_install() {
  db_query("UPDATE {system} SET weight = 123 WHERE name = 'modulename'");
}
Написанное актуально для
Drupal 7
Похожие записи

Комментарии

Гость
25.01.2012, 00:06

было бы неплохо написать тут, как используется вес модуля в друпале. =)

хуки выполняются в порядке веса модулей

Гость
05.07.2016, 18:25

По какой причине hook_url_inbound_alter более "легкого" модуля(с отрицательным значением веса -20) может выполняться позднее чем hook_url_inbound_alter модуля с весом 0 ?

Гость
05.07.2016, 19:25

Спасибо, не знаю это подсказка к решению или очень конкретный ответ на вопрос, но выяснил что по факту hook_module_implements_alter эти модули не используют(могут ли другие модули их двигать, не себя а конкретно их?), а сортировка модулей по факту выполняется по модулю числа веса без учета знака, баг? новейшая версия Drupal7 стабильная.

Это только в 1-ый раз, когда модуля не было, сработает.
Отключение – включение модуля эту функцию не запустит – нужно сначала делать "удаление" модуля после его отключения, и потом заново включать.

Василий
15.01.2019, 15:42

Для D8: module_set_weight('module_name', 1001);

Добавить комментарий