Issue #1245900 by JohnAlbin: Strip wrapping divs from "main page content" block and...
authorJohnAlbin
Thu, 11 Aug 2011 07:06:12 +0000 (15:06 +0800)
committerJohnAlbin
Thu, 11 Aug 2011 07:10:31 +0000 (15:10 +0800)
template.php
templates/block--bare.tpl.php [new file with mode: 0644]
templates/region--bare.tpl.php [new file with mode: 0644]

index 6fc6ebe..ba6ccd7 100644 (file)
@@ -358,6 +358,10 @@ function zen_preprocess_region(&$variables, $hook) {
     // Allow a region-specific template to override Zen's region--sidebar.
     $variables['theme_hook_suggestions'][] = 'region__' . $variables['region'];
   }
+  // Use a bare template for the content region.
+  elseif ($variables['region'] == 'content') {
+    $variables['theme_hook_suggestions'][] = 'region__bare';
+  }
 }
 
 /**
@@ -369,6 +373,11 @@ function zen_preprocess_region(&$variables, $hook) {
  *   The name of the template being rendered ("block" in this case.)
  */
 function zen_preprocess_block(&$variables, $hook) {
+  // Use a bare template for the page's main content.
+  if ($variables['block_html_id'] == 'block-system-main') {
+    $variables['theme_hook_suggestions'][] = 'block__bare';
+  }
+
   // Classes describing the position of the block within the region.
   if ($variables['block_id'] == 1) {
     $variables['classes_array'][] = 'first';
diff --git a/templates/block--bare.tpl.php b/templates/block--bare.tpl.php
new file mode 100644 (file)
index 0000000..059279e
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+/**
+ * @file
+ * Zen theme's implementation to display a block with bare minimum HTML.
+ *
+ * Available variables:
+ * - $title: Block title.
+ * - $content: Block content.
+ * - $block->module: Module that generated the block.
+ * - $block->delta: An ID for the block, unique within each module.
+ * - $block->region: The block region embedding the current block.
+ * - $classes: String of classes that can be used to style contextually through
+ *   CSS. It can be manipulated through the variable $classes_array from
+ *   preprocess functions. The default values can be one or more of the
+ *   following:
+ *   - block: The current template type, i.e., "theming hook".
+ *   - block-[module]: The module generating the block. For example, the user
+ *     module is responsible for handling the default user navigation block. In
+ *     that case the class would be "block-user".
+ *   - first: The first block in the region.
+ *   - last: The last block in the region.
+ *   - odd: An odd-numbered block in the region's list of blocks.
+ *   - even: An even-numbered block in the region's list of blocks.
+ * - $title_prefix (array): An array containing additional output populated by
+ *   modules, intended to be displayed in front of the main title tag that
+ *   appears in the template.
+ * - $title_suffix (array): An array containing additional output populated by
+ *   modules, intended to be displayed after the main title tag that appears in
+ *   the template.
+ *
+ * Helper variables:
+ * - $classes_array: Array of html class attribute values. It is flattened
+ *   into a string within the variable $classes.
+ * - $block_zebra: Outputs 'odd' and 'even' dependent on each block region.
+ * - $zebra: Same output as $block_zebra but independent of any block region.
+ * - $block_id: Counter dependent on each block region.
+ * - $id: Same output as $block_id but independent of any block region.
+ * - $is_front: Flags true when presented in the front page.
+ * - $logged_in: Flags true when the current user is a logged-in member.
+ * - $is_admin: Flags true when the current user is an administrator.
+ * - $block_html_id: A valid HTML ID and guaranteed unique.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_block()
+ * @see zen_preprocess_block()
+ * @see template_process()
+ * @see zen_process_block()
+ */
+?>
+
+<?php print render($title_prefix); ?>
+<?php if ($title): ?>
+  <h2<?php print $title_attributes; ?>><?php print $title; ?></h2>
+<?php endif; ?>
+<?php print render($title_suffix); ?>
+
+<?php print $content; ?>
diff --git a/templates/region--bare.tpl.php b/templates/region--bare.tpl.php
new file mode 100644 (file)
index 0000000..ff49fb0
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+/**
+ * @file
+ * Zen theme's implementation to display a region with bare minimum HTML.
+ *
+ * Available variables:
+ * - $content: The content for this region, typically blocks.
+ * - $classes: String of classes that can be used to style contextually through
+ *   CSS. It can be manipulated through the variable $classes_array from
+ *   preprocess functions. The default values can be one or more of the following:
+ *   - region: The current template type, i.e., "theming hook".
+ *   - region-[name]: The name of the region with underscores replaced with
+ *     dashes. For example, the page_top region would have a region-page-top class.
+ * - $region: The name of the region variable as defined in the theme's .info file.
+ *
+ * Helper variables:
+ * - $classes_array: Array of html class attribute values. It is flattened
+ *   into a string within the variable $classes.
+ * - $is_admin: Flags true when the current user is an administrator.
+ * - $is_front: Flags true when presented in the front page.
+ * - $logged_in: Flags true when the current user is a logged-in member.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_region()
+ * @see zen_preprocess_region()
+ * @see template_process()
+ */
+
+if ($content) {
+  print $content;
+}