Программное добавление региона в тему в коде модуля

Наверняка все знают , как добавлять новые регионы в .info файле темы.
Для этого добавляем в файл строку:


regions[new_region] = Region name

Но иногда бывает необходимость создания региона для темы в своем модуле.
При этом вне зависимости от темы этот регион будет инициализирован.

Для этого достаточно имплементировать hook_system_info_alter.
Этот хук позволяет изменять данные полученные из .info файлов включенных модулей и тем.
Зарегистрируем через него новый регион для включенной темы.


/*
* Implements hook_system_info_alter().
*/
function MYMODULE_system_info_alter(&$info, $file, $type) {
  if ($type == 'theme') {
    $info['regions']['region_machine_name'] = t('Region name');
  }
}