diff --git a/core/modules/block/block.api.php b/core/modules/block/block.api.php index 284cddc3df649626211ca53cc7d1b1077120c8f1..d9626c827289fd916ddd183c4273989d8436a97c 100644 --- a/core/modules/block/block.api.php +++ b/core/modules/block/block.api.php @@ -216,6 +216,23 @@ function hook_block_access(\Drupal\block\Entity\Block $block, $operation, \Drupa return AccessResult::neutral(); } +/** + * Allow modules to alter the block plugin definitions. + * + * @param array[] $definitions + * The array of block definitions, keyed by plugin ID. + * + * @ingroup block_api + */ +function hook_block_alter(&$definitions) { + foreach ($definitions as $id => $definition) { + if (strpos($id, 'system_menu_block:') === 0) { + // Replace $definition properties: id, deriver, class, provider to ones + // provided by this custom module. + } + } +} + /** * @} End of "addtogroup hooks". */