get('block_test_info_alter') && isset($block_info['test_block_instantiation'])) { $block_info['test_block_instantiation']['category'] = t('Custom category'); } } /** * Implements hook_block_view_BASE_BLOCK_ID_alter(). */ function block_test_block_view_test_cache_alter(array &$build, BlockPluginInterface $block) { if (\Drupal::state()->get('block_test_view_alter_suffix') !== NULL) { $build['#attributes']['foo'] = 'bar'; } if (\Drupal::state()->get('block_test_view_alter_append_pre_render_prefix') !== NULL) { $build['#pre_render'][] = 'block_test_pre_render_alter_content'; } } /** * Implements hook_block_build_BASE_BLOCK_ID_alter(). */ function block_test_block_build_test_cache_alter(array &$build, BlockPluginInterface $block) { // Test altering cache keys, contexts, tags and max-age. if (\Drupal::state()->get('block_test_block_alter_cache_key') !== NULL) { $build['#cache']['keys'][] = \Drupal::state()->get('block_test_block_alter_cache_key'); } if (\Drupal::state()->get('block_test_block_alter_cache_context') !== NULL) { $build['#cache']['contexts'][] = \Drupal::state()->get('block_test_block_alter_cache_context'); } if (\Drupal::state()->get('block_test_block_alter_cache_tag') !== NULL) { $build['#cache']['tags'] = Cache::mergeTags($build['#cache']['tags'], [\Drupal::state()->get('block_test_block_alter_cache_tag')]); } if (\Drupal::state()->get('block_test_block_alter_cache_max_age') !== NULL) { $build['#cache']['max-age'] = \Drupal::state()->get('block_test_block_alter_cache_max_age'); } // Test setting #create_placeholder. if (\Drupal::state()->get('block_test_block_alter_create_placeholder') !== NULL) { $build['#create_placeholder'] = \Drupal::state()->get('block_test_block_alter_create_placeholder'); } } /** * #pre_render callback for a block to alter its content. */ function block_test_pre_render_alter_content($build) { $build['#prefix'] = 'Hiya!
'; return $build; }