8.3.x block.module template_preprocess_block(&$variables)
8.0.x block.module template_preprocess_block(&$variables)
8.1.x block.module template_preprocess_block(&$variables)
8.2.x block.module template_preprocess_block(&$variables)
8.4.x block.module template_preprocess_block(&$variables)
6.x theme.inc template_preprocess_block(&$variables)
7.x block.module template_preprocess_block(&$variables)

Process variables for block.tpl.php

Prepare the values passed to the theme_block function to be passed into a pluggable template engine. Uses block properties to generate a series of template file suggestions. If none are found, the default block.tpl.php is used.

Most themes utilize their own copy of block.tpl.php. The default is located inside "modules/system/block.tpl.php". Look in there for the full list of variables.

The $variables array contains the following arguments:

  • $block

See also

block.tpl.php

File

includes/theme.inc, line 2042
The theme system, which controls the output of Drupal.

Code

function template_preprocess_block(&$variables) {
  static $block_counter = array();
  // All blocks get an independent counter for each region.
  if (!isset($block_counter[$variables['block']->region])) {
    $block_counter[$variables['block']->region] = 1;
  }
  // Same with zebra striping.
  $variables['block_zebra'] = ($block_counter[$variables['block']->region] % 2) ? 'odd' : 'even';
  $variables['block_id'] = $block_counter[$variables['block']->region]++;

  $variables['template_files'][] = 'block-' . $variables['block']->region;
  $variables['template_files'][] = 'block-' . $variables['block']->module;
  $variables['template_files'][] = 'block-' . $variables['block']->module . '-' . $variables['block']->delta;
}