function render_example_preprocess_block in Examples for Developers 3.x
Same name and namespace in other branches
- 8 render_example/render_example.module \render_example_preprocess_block()
Implements hook_preprocess_block().
Related topics
File
- modules/
render_example/ render_example.module, line 164 - Demonstrates using Drupal's Render API.
Code
function render_example_preprocess_block(&$variables) {
// Only modify the 'altering' page.
if (\Drupal::routeMatch()
->getRouteName() !== 'render_example.altering') {
return;
}
$config = \Drupal::config('render_example.settings');
// This example shows how you can manipulate an existing renderable array. In
// this case by adding #prefix and #suffix properties to the block in order to
// wrap a <div> around it.
if ($config
->get('wrap_blocks')) {
$variables['content']['#prefix'] = '<div class="block-prefix"><p>' . t('Prefixed') . '</p>';
$variables['content']['#suffix'] = '<span class="block-suffix">' . t('Block suffix') . '</span></div>';
}
// Show the render array used to build each block if the Devel module is
// installed and the feature is enabled.
if (Drupal::moduleHandler()
->moduleExists('devel') && $config
->get('show_block')) {
$variables['content']['block_render_array'] = [
'#type' => 'markup',
'#prefix' => '<h2>' . t('The block render array for @block_id.', [
'@block_id' => $variables['plugin_id'],
]) . '</h2>',
'dump' => \Drupal::service('devel.dumper')
->exportAsRenderable($variables, $variables['plugin_id']),
];
}
}