summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Drumm <drumm@3064.no-reply.drupal.org>2006-11-29 06:36:12 +0000
committerNeil Drumm <drumm@3064.no-reply.drupal.org>2006-11-29 06:36:12 +0000
commit36430b4c6411ced6cae2e954ea86dca7ff2906d4 (patch)
tree460919f11a13064037d9b2f46a0e86254722bcc3
parent94fbfe8b3c1830872e2a02cbd5b3bb015b2c9c0d (diff)
downloadbrdo-36430b4c6411ced6cae2e954ea86dca7ff2906d4.tar.gz
brdo-36430b4c6411ced6cae2e954ea86dca7ff2906d4.tar.bz2
#87090 by kkaefer. Render blocks before page content so they may insert headers.
-rw-r--r--includes/theme.inc5
-rw-r--r--themes/chameleon/chameleon.theme16
2 files changed, 12 insertions, 9 deletions
diff --git a/includes/theme.inc b/includes/theme.inc
index 45f3cc093..d27486f6e 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -363,6 +363,9 @@ function theme_placeholder($text) {
* A string containing the entire HTML page.
*/
function theme_page($content) {
+ // Get blocks before so that they can alter the header (JavaScript, Stylesheets etc.)
+ $blocks = theme('blocks', 'all');
+
$output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
$output .= '<html xmlns="http://www.w3.org/1999/xhtml">';
$output .= '<head>';
@@ -375,7 +378,7 @@ function theme_page($content) {
$output .= ' <body style="background-color: #fff; color: #000;">';
$output .= '<table border="0" cellspacing="4" cellpadding="4"><tr><td style="vertical-align: top; width: 170px;">';
- $output .= theme('blocks', 'all');
+ $output .= $blocks;
$output .= '</td><td style="vertical-align: top;">';
$output .= theme('breadcrumb', drupal_get_breadcrumb());
diff --git a/themes/chameleon/chameleon.theme b/themes/chameleon/chameleon.theme
index 65e159ac8..f4b5b702f 100644
--- a/themes/chameleon/chameleon.theme
+++ b/themes/chameleon/chameleon.theme
@@ -32,6 +32,10 @@ function chameleon_page($content, $show_blocks = TRUE) {
$title = drupal_get_title();
+ // Get blocks before so that they can alter the header (JavaScript, Stylesheets etc.)
+ $blocks_left = theme_blocks('left');
+ $blocks_right = theme_blocks('right');
+
$output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
$output .= "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"$language\" xml:lang=\"$language\">\n";
$output .= "<head>\n";
@@ -71,10 +75,8 @@ function chameleon_page($content, $show_blocks = TRUE) {
$output .= " <table id=\"content\">\n";
$output .= " <tr>\n";
- if ($show_blocks) {
- if ($blocks = theme_blocks("left")) {
- $output .= " <td id=\"sidebar-left\">$blocks</td>\n";
- }
+ if ($show_blocks && !empty($blocks_left)) {
+ $output .= " <td id=\"sidebar-left\">$blocks_left</td>\n";
}
$output .= " <td id=\"main\">\n";
@@ -103,10 +105,8 @@ function chameleon_page($content, $show_blocks = TRUE) {
$output .= " </td>\n";
- if ($show_blocks) {
- if ($blocks = theme_blocks("right")) {
- $output .= " <td id=\"sidebar-right\">$blocks</td>\n";
- }
+ if ($show_blocks && !empty($blocks_right)) {
+ $output .= " <td id=\"sidebar-right\">$blocks_right</td>\n";
}
$output .= " </tr>\n";