Add an install task for rehashing farmOS theme blocks. See #273

This commit is contained in:
Michael Stenta 2020-04-14 11:08:35 -04:00
parent 5ed42678d6
commit ca117e5dfe
1 changed files with 21 additions and 0 deletions

View File

@ -84,6 +84,7 @@ function farm_install_tasks(&$install_state) {
'type' => 'batch',
),
'farm_install_theme' => array(),
'farm_install_blocks' => array(),
);
return $tasks;
}
@ -236,6 +237,26 @@ function farm_install_theme() {
theme_disable(array('bartik'));
}
/**
* Callback for farmOS blocks install task.
*/
function farm_install_blocks() {
// Update blocks for the farmOS theme.
// We need to run _block_rehash() so that hook_block_info_alter() in
// farm_theme has a chance to alter blocks provided by other farmOS modules
// (eg: to enable/insert them into regions).
// We need to override the global $theme variable and manually include the
// theme's template.php file so that drupal_alter() runs its alter hooks.
// @see https://github.com/farmOS/farmOS/issues/273
global $theme;
$old_theme = $theme;
$theme = 'farm_theme';
include_once drupal_get_path('theme', $theme) . '/template.php';
_block_rehash($theme);
$theme = $old_theme;
}
/**
* Implements hook_update_dependencies().
*/