hook_block_build_alter(array &$build, \Drupal\Core\Block\BlockPluginInterface $block)
Alter the result of \Drupal\Core\Block\BlockBase::build().
Unlike hook_block_view_alter(), this hook is called very early, before the block is being assembled. Therefore, it is early enough to alter the cacheability metadata (change #cache), or to explicitly placeholder the block (set #create_placeholder).
In addition to hook_block_build_alter(), which is called for all blocks, there is hook_block_build_BASE_BLOCK_ID_alter(), which can be used to target a specific block or set of similar blocks.
array &$build: A renderable array of data, only containing #cache.
\Drupal\Core\Block\BlockPluginInterface $block: The block plugin instance.
hook_block_build_BASE_BLOCK_ID_alter()
Entity CRUD, editing, and view hooks
function hook_block_build_alter(array &$build, \Drupal\Core\Block\BlockPluginInterface $block) { // Add the 'user' cache context to some blocks. if ($some_condition) { $build['#contexts'][] = 'user'; } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!block!block.api.php/function/hook_block_build_alter/8.1.x