summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/block/block.module37
-rw-r--r--modules/block/block.tpl.php (renamed from modules/system/block.tpl.php)0
2 files changed, 37 insertions, 0 deletions
diff --git a/modules/block/block.module b/modules/block/block.module
index 727f526b5..a933fbf30 100644
--- a/modules/block/block.module
+++ b/modules/block/block.module
@@ -92,6 +92,10 @@ function block_help($path, $arg) {
*/
function block_theme() {
return array(
+ 'block' => array(
+ 'arguments' => array('block' => NULL),
+ 'template' => 'block',
+ ),
'block_admin_display_form' => array(
'template' => 'block-admin-display-form',
'file' => 'block.admin.inc',
@@ -728,3 +732,36 @@ function _block_get_cache_id($block) {
function block_flush_caches() {
return array('cache_block');
}
+
+/**
+ * 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/block/block.tpl.php". Look in there for the full list of
+ * variables.
+ *
+ * The $variables array contains the following arguments:
+ * - $block
+ *
+ * @see block.tpl.php
+ */
+function template_preprocess_block(&$variables) {
+ static $block_counter = array();
+ $variables['block'] = $variables['block']['#block'];
+ // 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;
+} \ No newline at end of file
diff --git a/modules/system/block.tpl.php b/modules/block/block.tpl.php
index 459a94034..459a94034 100644
--- a/modules/system/block.tpl.php
+++ b/modules/block/block.tpl.php