function render_example_preprocess_block

Same name and namespace in other branches
  1. 4.0.x modules/render_example/render_example.module \render_example_preprocess_block()

Implements hook_preprocess_block().

Related topics

File

modules/render_example/render_example.module, line 164

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']),
        ];
    }
}