block_test.module in Zircon Profile 8.0
Same filename and directory in other branches
Provide test blocks.
File
core/modules/block/tests/modules/block_test/block_test.moduleView source
<?php
/**
* @file
* Provide test blocks.
*/
use Drupal\Core\Block\BlockPluginInterface;
use Drupal\Core\Cache\Cache;
/**
* Implements hook_block_alter().
*/
function block_test_block_alter(&$block_info) {
if (\Drupal::state()
->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!<br>';
return $build;
}
Functions
Name | Description |
---|---|
block_test_block_alter | Implements hook_block_alter(). |
block_test_block_build_test_cache_alter | Implements hook_block_build_BASE_BLOCK_ID_alter(). |
block_test_block_view_test_cache_alter | Implements hook_block_view_BASE_BLOCK_ID_alter(). |
block_test_pre_render_alter_content | #pre_render callback for a block to alter its content. |