#469242 by tic2000, Pasqualle, pwolanin, Nick Lewis, moshe weitzman, Rob Loach,
and alexanderpas: page.tpl.php has now been split into html.tpl.php (for <html>, <head>, and <body>) and page.tpl.php (for page content). This now provides consistency for granular theming of renderable output in all template files.merge-requests/26/head
parent
60f14083f4
commit
6c0f8eba1c
|
@ -4532,6 +4532,10 @@ function drupal_common_theme() {
|
|||
'placeholder' => array(
|
||||
'arguments' => array('text' => NULL)
|
||||
),
|
||||
'html' => array(
|
||||
'arguments' => array('page' => NULL),
|
||||
'template' => 'html',
|
||||
),
|
||||
'page' => array(
|
||||
'arguments' => array('page' => NULL),
|
||||
'template' => 'page',
|
||||
|
|
|
@ -2082,6 +2082,86 @@ function template_process(&$variables, $hook) {
|
|||
$variables['title_attributes'] = drupal_attributes($variables['title_attributes_array']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Preprocess variables for html.tpl.php
|
||||
*
|
||||
* @see system_elements()
|
||||
* @see html.tpl.php
|
||||
*/
|
||||
function template_preprocess_html(&$variables) {
|
||||
// Compile a list of classes that are going to be applied to the body element.
|
||||
// This allows advanced theming based on context (home page, node of certain type, etc.).
|
||||
// Add a class that tells us whether we're on the front page or not.
|
||||
$variables['classes_array'][] = $variables['is_front'] ? 'front' : 'not-front';
|
||||
// Add a class that tells us whether the page is viewed by an authenticated user or not.
|
||||
$variables['classes_array'][] = $variables['logged_in'] ? 'logged-in' : 'not-logged-in';
|
||||
|
||||
// Add information about the number of sidebars.
|
||||
if (!empty($variables['page']['sidebar_first']) && !empty($variables['page']['sidebar_second'])) {
|
||||
$variables['classes_array'][] = 'two-sidebars';
|
||||
}
|
||||
elseif (!empty($variables['page']['sidebar_first'])) {
|
||||
$variables['classes_array'][] = 'one-sidebar sidebar-first';
|
||||
}
|
||||
elseif (!empty($variables['page']['sidebar_second'])) {
|
||||
$variables['classes_array'][] = 'one-sidebar sidebar-second';
|
||||
}
|
||||
else {
|
||||
$variables['classes_array'][] = 'no-sidebars';
|
||||
}
|
||||
|
||||
// Populate the body classes.
|
||||
if ($suggestions = template_page_suggestions(arg(), 'page')) {
|
||||
foreach ($suggestions as $suggestion) {
|
||||
if ($suggestion != 'page-front') {
|
||||
// Add current suggestion to page classes to make it possible to theme the page
|
||||
// depending on the current page type (e.g. node, admin, user, etc.) as well as
|
||||
// more specific data like node-12 or node-edit. To avoid illegal characters in
|
||||
// the class, we're removing everything disallowed. We are not using 'a-z' as
|
||||
// that might leave in certain international characters (e.g. German umlauts).
|
||||
$variables['classes_array'][] = preg_replace('![^abcdefghijklmnopqrstuvwxyz0-9-_]+!s', '', form_clean_id(drupal_strtolower($suggestion)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($node = menu_get_object()) {
|
||||
$variables['classes_array'][] = 'node-type-' . form_clean_id($node->type);
|
||||
}
|
||||
|
||||
// RDFa allows annotation of XHTML pages with RDF data, while GRDDL provides
|
||||
// mechanisms for extraction of this RDF content via XSLT transformation
|
||||
// using an associated GRDDL profile.
|
||||
$variables['rdf_namespaces'] = drupal_get_rdf_namespaces();
|
||||
$variables['grddl_profile'] = 'http://ns.inria.fr/grddl/rdfa/';
|
||||
$variables['language'] = $GLOBALS['language'];
|
||||
$variables['language']->dir = $GLOBALS['language']->direction ? 'rtl' : 'ltr';
|
||||
|
||||
|
||||
// Add favicon.
|
||||
if (theme_get_setting('toggle_favicon')) {
|
||||
$favicon = theme_get_setting('favicon');
|
||||
$type = theme_get_setting('favicon_mimetype');
|
||||
drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
|
||||
}
|
||||
|
||||
// Construct page title.
|
||||
if (drupal_get_title()) {
|
||||
$head_title = array(strip_tags(drupal_get_title()), variable_get('site_name', 'Drupal'));
|
||||
}
|
||||
else {
|
||||
$head_title = array(variable_get('site_name', 'Drupal'));
|
||||
if (variable_get('site_slogan', '')) {
|
||||
$head_title[] = variable_get('site_slogan', '');
|
||||
}
|
||||
}
|
||||
$variables['head_title'] = implode(' | ', $head_title);
|
||||
|
||||
// Populate the page template suggestions.
|
||||
if ($suggestions = template_page_suggestions(arg(), 'html')) {
|
||||
$variables['template_files'] = $suggestions;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Preprocess variables for page.tpl.php
|
||||
*
|
||||
|
@ -2103,33 +2183,21 @@ function template_preprocess_page(&$variables) {
|
|||
// Move some variables to the top level for themer convenience and template cleanliness.
|
||||
$variables['show_messages'] = $variables['page']['#show_messages'];
|
||||
|
||||
// Add favicon.
|
||||
if (theme_get_setting('toggle_favicon')) {
|
||||
$favicon = theme_get_setting('favicon');
|
||||
$type = theme_get_setting('favicon_mimetype');
|
||||
drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
|
||||
}
|
||||
|
||||
// Set up layout variable.
|
||||
$variables['layout'] = 'none';
|
||||
if (!empty($variables['page']['sidebar_first'])) {
|
||||
$variables['layout'] = 'first';
|
||||
}
|
||||
else {
|
||||
$variables['page']['sidebar_first'] = array();
|
||||
}
|
||||
if (!empty($variables['page']['sidebar_second'])) {
|
||||
$variables['layout'] = ($variables['layout'] == 'first') ? 'both' : 'second';
|
||||
}
|
||||
|
||||
// Construct page title
|
||||
if (drupal_get_title()) {
|
||||
$head_title = array(strip_tags(drupal_get_title()), variable_get('site_name', 'Drupal'));
|
||||
}
|
||||
else {
|
||||
$head_title = array(variable_get('site_name', 'Drupal'));
|
||||
if (variable_get('site_slogan', '')) {
|
||||
$head_title[] = variable_get('site_slogan', '');
|
||||
}
|
||||
$variables['page']['sidebar_second'] = array();
|
||||
}
|
||||
$variables['head_title'] = implode(' | ', $head_title);
|
||||
|
||||
$variables['base_path'] = base_path();
|
||||
$variables['front_page'] = url();
|
||||
$variables['breadcrumb'] = theme('breadcrumb', drupal_get_breadcrumb());
|
||||
|
@ -2146,69 +2214,32 @@ function template_preprocess_page(&$variables) {
|
|||
$variables['site_slogan'] = (theme_get_setting('toggle_slogan') ? filter_xss_admin(variable_get('site_slogan', '')) : '');
|
||||
$variables['tabs'] = theme('menu_local_tasks');
|
||||
$variables['title'] = drupal_get_title();
|
||||
// RDFa allows annotation of XHTML pages with RDF data, while GRDDL provides
|
||||
// mechanisms for extraction of this RDF content via XSLT transformation
|
||||
// using an associated GRDDL profile.
|
||||
$variables['rdf_namespaces'] = drupal_get_rdf_namespaces();
|
||||
$variables['grddl_profile'] = 'http://ns.inria.fr/grddl/rdfa/';
|
||||
|
||||
if ($node = menu_get_object()) {
|
||||
$variables['node'] = $node;
|
||||
}
|
||||
|
||||
// Compile a list of classes that are going to be applied to the body element.
|
||||
// This allows advanced theming based on context (home page, node of certain type, etc.).
|
||||
// Add a class that tells us whether we're on the front page or not.
|
||||
$variables['classes_array'][] = $variables['is_front'] ? 'front' : 'not-front';
|
||||
// Add a class that tells us whether the page is viewed by an authenticated user or not.
|
||||
$variables['classes_array'][] = $variables['logged_in'] ? 'logged-in' : 'not-logged-in';
|
||||
|
||||
// Populate the page template suggestions.
|
||||
if ($suggestions = template_page_suggestions(arg())) {
|
||||
if ($suggestions = template_page_suggestions(arg(), 'page')) {
|
||||
$variables['template_files'] = $suggestions;
|
||||
foreach ($suggestions as $suggestion) {
|
||||
if ($suggestion != 'page-front') {
|
||||
// Add current suggestion to page classes to make it possible to theme the page
|
||||
// depending on the current page type (e.g. node, admin, user, etc.) as well as
|
||||
// more specific data like node-12 or node-edit. To avoid illegal characters in
|
||||
// the class, we're removing everything disallowed. We are not using 'a-z' as
|
||||
// that might leave in certain international characters (e.g. German umlauts).
|
||||
$variables['classes_array'][] = preg_replace('![^abcdefghijklmnopqrstuvwxyz0-9-_]+!s', '', form_clean_id(drupal_strtolower($suggestion)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If on an individual node page, add the node type to body classes.
|
||||
if (isset($variables['node']) && $variables['node']->type) {
|
||||
$variables['classes_array'][] = 'node-type-' . form_clean_id($variables['node']->type);
|
||||
}
|
||||
// Add information about the number of sidebars.
|
||||
if ($variables['layout'] == 'both') {
|
||||
$variables['classes_array'][] = 'two-sidebars';
|
||||
}
|
||||
elseif ($variables['layout'] == 'none') {
|
||||
$variables['classes_array'][] = 'no-sidebars';
|
||||
}
|
||||
else {
|
||||
$variables['classes_array'][] = 'one-sidebar sidebar-' . $variables['layout'];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Process variables for page.tpl.php
|
||||
* Process variables for html.tpl.php
|
||||
*
|
||||
* Perform final addition and modification of variables before passing into
|
||||
* the template. To customize these variables, call drupal_render() on elements
|
||||
* in $variables['page'] during THEME_preprocess_page().
|
||||
*
|
||||
* @see template_preprocess_page()
|
||||
* @see page.tpl.php
|
||||
* @see template_preprocess_html()
|
||||
* @see html.tpl.php
|
||||
*/
|
||||
function template_process_page(&$variables) {
|
||||
// Render each region into top level variables.
|
||||
foreach (system_region_list($GLOBALS['theme']) as $region_key => $region_name) {
|
||||
$variables[$region_key] = drupal_render($variables['page'][$region_key]);
|
||||
}
|
||||
// Append javascript to $page_bottom
|
||||
function template_process_html(&$variables) {
|
||||
// Render page_top and page_bottom into top level variables.
|
||||
$variables['page_top'] = drupal_render($variables['page']['page_top']);
|
||||
$variables['page_bottom'] = drupal_render($variables['page']['page_bottom']);
|
||||
// Place the rendered HTML for the page body into a top level variable.
|
||||
$variables['page'] = $variables['page']['#children'];
|
||||
$variables['page_bottom'] .= drupal_get_js('footer');
|
||||
|
||||
$variables['head'] = drupal_get_html_head();
|
||||
|
@ -2226,7 +2257,7 @@ function template_process_page(&$variables) {
|
|||
* @return
|
||||
* An array of suggested template files.
|
||||
*/
|
||||
function template_page_suggestions($args) {
|
||||
function template_page_suggestions($args, $suggestion) {
|
||||
|
||||
// Build a list of suggested template files and body classes in order of
|
||||
// specificity. One suggestion is made for every element of the current path,
|
||||
|
@ -2239,7 +2270,6 @@ function template_page_suggestions($args) {
|
|||
// page-node.tpl.php page-node
|
||||
// page.tpl.php
|
||||
|
||||
$suggestion = 'page';
|
||||
$suggestions = array();
|
||||
foreach ($args as $arg) {
|
||||
// Remove slashes or null per SA-CORE-2009-003.
|
||||
|
@ -2255,7 +2285,7 @@ function template_page_suggestions($args) {
|
|||
}
|
||||
}
|
||||
if (drupal_is_front_page()) {
|
||||
$suggestions[] = 'page-front';
|
||||
$suggestions[] = $suggestion . '-front';
|
||||
}
|
||||
|
||||
return $suggestions;
|
||||
|
|
|
@ -197,6 +197,7 @@ function block_page_build(&$page) {
|
|||
|
||||
// Load all region content assigned via blocks.
|
||||
foreach (array_keys($all_regions) as $region) {
|
||||
$page[$region] = array();
|
||||
// Assign blocks to region.
|
||||
if ($blocks = block_get_blocks_by_region($region)) {
|
||||
$page[$region] = $blocks;
|
||||
|
|
|
@ -69,7 +69,7 @@ function _color_theme_select_form_alter(&$form, &$form_state) {
|
|||
/**
|
||||
* Callback for the theme to alter the resources used.
|
||||
*/
|
||||
function _color_page_alter(&$vars) {
|
||||
function _color_html_alter(&$vars) {
|
||||
global $language, $theme_key;
|
||||
$themes = list_themes();
|
||||
|
||||
|
@ -93,6 +93,13 @@ function _color_page_alter(&$vars) {
|
|||
|
||||
$vars['styles'] = drupal_get_css($vars['css']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for the theme to alter the resources used.
|
||||
*/
|
||||
function _color_page_alter(&$vars) {
|
||||
global $language, $theme_key;
|
||||
|
||||
// Override logo.
|
||||
$logo = variable_get('color_' . $theme_key . '_logo');
|
||||
|
|
|
@ -26,17 +26,17 @@ class TemplateUnitTest extends DrupalWebTestCase {
|
|||
// test runner fails.
|
||||
variable_set('site_frontpage', 'nobody-home');
|
||||
$args = array('node', '1', 'edit');
|
||||
$suggestions = template_page_suggestions($args);
|
||||
$suggestions = template_page_suggestions($args, 'page');
|
||||
$this->assertEqual($suggestions, array('page-node', 'page-node-%', 'page-node-1', 'page-node-edit'), t('Found expected node edit page template suggestions'));
|
||||
// Check attack vectors.
|
||||
$args = array('node', '\\1');
|
||||
$suggestions = template_page_suggestions($args);
|
||||
$suggestions = template_page_suggestions($args, 'page');
|
||||
$this->assertEqual($suggestions, array('page-node', 'page-node-%', 'page-node-1'), t('Removed invalid \\ from template suggestions'));
|
||||
$args = array('node', '1/');
|
||||
$suggestions = template_page_suggestions($args);
|
||||
$suggestions = template_page_suggestions($args, 'page');
|
||||
$this->assertEqual($suggestions, array('page-node', 'page-node-%', 'page-node-1'), t('Removed invalid / from template suggestions'));
|
||||
$args = array('node', "1\0");
|
||||
$suggestions = template_page_suggestions($args);
|
||||
$suggestions = template_page_suggestions($args, 'page');
|
||||
$this->assertEqual($suggestions, array('page-node', 'page-node-%', 'page-node-1'), t('Removed invalid \\0 from template suggestions'));
|
||||
// Tests for drupal_discover_template()
|
||||
$suggestions = array('page');
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
// $Id$
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation to display the basic html structure of a single
|
||||
* Drupal page.
|
||||
*
|
||||
* Variables:
|
||||
* - $css: An array of CSS files for the current page.
|
||||
* - $language: (object) The language the site is being displayed in.
|
||||
* $language->language contains its textual representation.
|
||||
* $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
|
||||
* - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
|
||||
* - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
|
||||
* - $head_title: A modified version of the page title, for use in the TITLE tag.
|
||||
* - $head: Markup for the HEAD section (including meta tags, keyword tags, and
|
||||
* so on).
|
||||
* - $styles: Style tags necessary to import all CSS files for the page.
|
||||
* - $scripts: Script tags necessary to load the JavaScript files and settings
|
||||
* for the page.
|
||||
* - $page_top: Initial markup from any modules that have altered the
|
||||
* page. This variable should always be output first, before all other dynamic
|
||||
* content.
|
||||
* - $page: The rendered page content.
|
||||
* - $page_bottom: Final closing markup from any modules that have altered the
|
||||
* page. This variable should always be output last, after all other dynamic
|
||||
* content.
|
||||
* - $classes String of classes that can be used to style contextually through
|
||||
* CSS.
|
||||
*
|
||||
* @see template_preprocess()
|
||||
* @see template_preprocess_html()
|
||||
* @see template_process()
|
||||
*/
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
|
||||
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" dir="<?php print $language->dir; ?>"
|
||||
<?php print $rdf_namespaces; ?>>
|
||||
|
||||
<head profile="<?php print $grddl_profile; ?>">
|
||||
<?php print $head; ?>
|
||||
<title><?php print $head_title; ?></title>
|
||||
<?php print $styles; ?>
|
||||
<?php print $scripts; ?>
|
||||
</head>
|
||||
<body class="<?php print $classes; ?>" <?php print $attributes;?>>
|
||||
<?php print $page_top; ?>
|
||||
<?php print $page; ?>
|
||||
<?php print $page_bottom; ?>
|
||||
</body>
|
||||
</html>
|
|
@ -10,48 +10,12 @@
|
|||
* General utility variables:
|
||||
* - $base_path: The base URL path of the Drupal installation. At the very
|
||||
* least, this will always default to /.
|
||||
* - $css: An array of CSS files for the current page.
|
||||
* - $directory: The directory the template is located in, e.g. modules/system
|
||||
* or themes/garland.
|
||||
* - $classes_array: Array of html class attribute values. It is flattened
|
||||
* into a string within the variable $classes.
|
||||
* - $is_front: TRUE if the current page is the front page. Used to toggle the mission statement.
|
||||
* - $logged_in: TRUE if the user is registered and signed in.
|
||||
* - $is_admin: TRUE if the user has permission to access administration pages.
|
||||
*
|
||||
* Page metadata:
|
||||
* - $language: (object) The language the site is being displayed in.
|
||||
* $language->language contains its textual representation.
|
||||
* $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
|
||||
* - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
|
||||
* - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
|
||||
* - $head_title: A modified version of the page title, for use in the TITLE tag.
|
||||
* - $head: Markup for the HEAD section (including meta tags, keyword tags, and
|
||||
* so on).
|
||||
* - $styles: Style tags necessary to import all CSS files for the page.
|
||||
* - $scripts: Script tags necessary to load the JavaScript files and settings
|
||||
* for the page.
|
||||
* - $classes: String of classes that can be used to style contextually through
|
||||
* CSS. It should be placed within the <body> tag. When selecting through CSS
|
||||
* it's recommended that you use the body tag, e.g., "body.front". It can be
|
||||
* manipulated through the variable $classes_array from preprocess functions.
|
||||
* The default values can be one or more of the following:
|
||||
* - page: The current template type, i.e., "theming hook".
|
||||
* - front: Page is the home page.
|
||||
* - not-front: Page is not the home page.
|
||||
* - logged-in: The current viewer is logged in.
|
||||
* - not-logged-in: The current viewer is not logged in.
|
||||
* - page-[level 1 path]: The internal first level path. For example, viewing
|
||||
* example.com/user/2 would result in "page-user". Path aliases do not apply.
|
||||
* - node-type-[node type]: When viewing a single node, the type of that node.
|
||||
* For example, if the node is a "Blog entry" it would result in "node-type-blog".
|
||||
* Note that the machine name will often be in a short form of the human readable label.
|
||||
* The following only apply with the default 'sidebar_first' and 'sidebar_second' block regions:
|
||||
* - two-sidebars: When both sidebars have content.
|
||||
* - no-sidebars: When no sidebar content exists.
|
||||
* - one-sidebar and sidebar-first or sidebar-second: A combination of the two classes
|
||||
* when only one of the two sidebars have content.
|
||||
*
|
||||
* Site identity:
|
||||
* - $front_page: The URL of the front page. Use this instead of $base_path,
|
||||
* when linking to the front page. This includes the language domain or prefix.
|
||||
|
@ -76,41 +40,22 @@
|
|||
* - $messages: HTML for status and error messages. Should be displayed prominently.
|
||||
* - $tabs: Tabs linking to any sub-pages beneath the current page (e.g., the view
|
||||
* and edit tabs when displaying a node).
|
||||
* - $help: Dynamic help text, mostly for admin pages.
|
||||
* - $content: The main content of the current page.
|
||||
* - $feed_icons: A string of all feed icons for the current page.
|
||||
* - $sidebar_first: Items for the first sidebar.
|
||||
* - $sidebar_second: Items for the second sidebar.
|
||||
* - $highlight: Items for the highlighted content region.
|
||||
*
|
||||
* Opening and closing data:
|
||||
* - $page_top: Initial markup from any modules that have altered the
|
||||
* page. This variable should always be output first, before all other dynamic
|
||||
* content.
|
||||
* - $footer : The footer region.
|
||||
* - $page_bottom: Final closing markup from any modules that have altered the
|
||||
* page. This variable should always be output last, after all other dynamic
|
||||
* content.
|
||||
*
|
||||
* Regions:
|
||||
* - $page['help']: Dynamic help text, mostly for admin pages.
|
||||
* - $page['highlight']: Items for the highlighted content region.
|
||||
* - $page['content']: The main content of the current page.
|
||||
* - $page['sidebar_first']: Items for the first sidebar.
|
||||
* - $page['sidebar_second']: Items for the second sidebar.
|
||||
* - $page['header']: Items for the header region.
|
||||
* - $page['footer']: Items for the footer region.
|
||||
*
|
||||
* @see template_preprocess()
|
||||
* @see template_preprocess_page()
|
||||
* @see template_process()
|
||||
*/
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
|
||||
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" dir="<?php print $language->dir; ?>"
|
||||
<?php print $rdf_namespaces; ?>>
|
||||
|
||||
<head profile="<?php print $grddl_profile; ?>">
|
||||
<title><?php print $head_title; ?></title>
|
||||
<?php print $head; ?>
|
||||
<?php print $styles; ?>
|
||||
<?php print $scripts; ?>
|
||||
</head>
|
||||
<body class="<?php print $classes; ?>">
|
||||
|
||||
<?php print $page_top; ?>
|
||||
|
||||
<div id="page-wrapper"><div id="page">
|
||||
|
||||
|
@ -146,9 +91,9 @@
|
|||
<div id="search-box"><?php print $search_box; ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($header): ?>
|
||||
<?php if ($page['header']): ?>
|
||||
<div id="header-region" class="region">
|
||||
<?php print $header; ?>
|
||||
<?php print render($page['header']); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
|
@ -169,26 +114,26 @@
|
|||
<div id="main-wrapper"><div id="main" class="clearfix">
|
||||
|
||||
<div id="content" class="column"><div class="section">
|
||||
<?php if ($highlight): ?><div id="highlight"><?php print $highlight; ?></div><?php endif; ?>
|
||||
<?php if ($page['highlight']): ?><div id="highlight"><?php print render($page['highlight']); ?></div><?php endif; ?>
|
||||
<?php if ($title): ?><h1 class="title" id="page-title"><?php print $title; ?></h1><?php endif; ?>
|
||||
<?php if ($tabs): ?><div class="tabs"><?php print $tabs; ?></div><?php endif; ?>
|
||||
<?php print $help; ?>
|
||||
<?php print render($page['help']); ?>
|
||||
<?php if ($action_links): ?><ul class="action-links"><?php print $action_links; ?></ul><?php endif; ?>
|
||||
<div id="content-area" class="region">
|
||||
<?php print $content; ?>
|
||||
<?php print render($page['content']); ?>
|
||||
</div> <!-- /#content-area -->
|
||||
<?php print $feed_icons; ?>
|
||||
</div></div> <!-- /.section, /#content -->
|
||||
|
||||
<?php if ($sidebar_first): ?>
|
||||
<?php if ($page['sidebar_first']): ?>
|
||||
<div id="sidebar-first" class="column sidebar"><div class="section region">
|
||||
<?php print $sidebar_first; ?>
|
||||
<?php print render($page['sidebar_first']); ?>
|
||||
</div></div> <!-- /.section, /#sidebar-first -->
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($sidebar_second): ?>
|
||||
<?php if ($page['sidebar_second']): ?>
|
||||
<div id="sidebar-second" class="column sidebar"><div class="section region">
|
||||
<?php print $sidebar_second; ?>
|
||||
<?php print render($page['sidebar_second']); ?>
|
||||
</div></div> <!-- /.section, /#sidebar-second -->
|
||||
<?php endif; ?>
|
||||
|
||||
|
@ -196,12 +141,11 @@
|
|||
|
||||
<div id="footer"><div class="section">
|
||||
<?php print theme('links', $secondary_menu, array('id' => 'secondary-menu', 'class' => array('links', 'clearfix')), t('Secondary menu')); ?>
|
||||
<?php if ($footer): ?><div id="footer-region" class="region"><?php print $footer; ?></div><?php endif; ?>
|
||||
<?php if ($page['footer']): ?>
|
||||
<div id="footer-region" class="region">
|
||||
<?php print render($page['footer']); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div></div> <!-- /.section, /#footer -->
|
||||
|
||||
</div></div> <!-- /#page, /#page-wrapper -->
|
||||
|
||||
<?php print $page_bottom; ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -291,6 +291,7 @@ function system_element_info() {
|
|||
$types['page'] = array(
|
||||
'#show_messages' => TRUE,
|
||||
'#theme' => 'page',
|
||||
'#theme_wrappers' => array('html'),
|
||||
);
|
||||
$types['list'] = array(
|
||||
'#title' => '',
|
||||
|
|
|
@ -46,7 +46,7 @@ function toolbar_page_build(&$page) {
|
|||
*
|
||||
* Add some page classes, so global page theming can adjust to the toolbar.
|
||||
*/
|
||||
function toolbar_preprocess_page(&$vars) {
|
||||
function toolbar_preprocess_html(&$vars) {
|
||||
if (user_access('access toolbar')) {
|
||||
$vars['classes_array'][] = 'toolbar toolbar-shortcuts';
|
||||
}
|
||||
|
|
|
@ -1,23 +1,7 @@
|
|||
<?php
|
||||
// $Id$
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
|
||||
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"
|
||||
<?php print $rdf_namespaces ?>>
|
||||
<head profile="<?php print $grddl_profile ?>">
|
||||
<title><?php print $head_title ?></title>
|
||||
<?php print $head ?>
|
||||
<?php print $styles ?>
|
||||
<?php print $scripts ?>
|
||||
<!--[if lt IE 7]>
|
||||
<?php print $ie_styles ?>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="<?php print $classes ?>">
|
||||
|
||||
<?php print $page_top; ?>
|
||||
|
||||
<div id="header-region" class="clearfix"><?php print $header ?></div>
|
||||
?>
|
||||
<div id="header-region" class="clearfix"><?php print render($page['header']); ?></div>
|
||||
|
||||
<div id="wrapper">
|
||||
<div id="container" class="clearfix">
|
||||
|
@ -38,40 +22,36 @@
|
|||
<?php if ($secondary_nav): print $secondary_nav; endif; ?>
|
||||
</div> <!-- /#header -->
|
||||
|
||||
<?php if ($sidebar_first): ?>
|
||||
<?php if ($page['sidebar_first']): ?>
|
||||
<div id="sidebar-first" class="sidebar">
|
||||
<?php if ($search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
|
||||
<?php print $sidebar_first ?>
|
||||
<?php print render($page['sidebar_first']); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id="center"><div id="squeeze"><div class="right-corner"><div class="left-corner">
|
||||
<?php print $breadcrumb; ?>
|
||||
<?php if ($highlight): ?><div id="highlight"><?php print $highlight ?></div><?php endif; ?>
|
||||
<?php if ($page['highlight']): ?><div id="highlight"><?php render($page['highlight']); ?></div><?php endif; ?>
|
||||
<?php if ($tabs): ?><div id="tabs-wrapper" class="clearfix"><?php endif; ?>
|
||||
<?php if ($title): ?><h2<?php print $tabs ? ' class="with-tabs"' : '' ?>><?php print $title ?></h2><?php endif; ?>
|
||||
<?php if ($tabs): ?><ul class="tabs primary"><?php print $tabs ?></ul></div><?php endif; ?>
|
||||
<?php if ($tabs2): ?><ul class="tabs secondary"><?php print $tabs2 ?></ul><?php endif; ?>
|
||||
<?php if ($show_messages && $messages): print $messages; endif; ?>
|
||||
<?php print $help; ?>
|
||||
<?php print render($page['help']); ?>
|
||||
<?php if ($action_links): ?><ul class="action-links"><?php print $action_links; ?></ul><?php endif; ?>
|
||||
<div class="clearfix">
|
||||
<?php print $content ?>
|
||||
<?php print render($page['content']); ?>
|
||||
</div>
|
||||
<?php print $feed_icons ?>
|
||||
<div id="footer"><?php print $footer ?></div>
|
||||
<div id="footer"><?php print render($page['footer']) ?></div>
|
||||
</div></div></div></div> <!-- /.left-corner, /.right-corner, /#squeeze, /#center -->
|
||||
|
||||
<?php if ($sidebar_second): ?>
|
||||
<?php if ($page['sidebar_second']): ?>
|
||||
<div id="sidebar-second" class="sidebar">
|
||||
<?php if (!$sidebar_first && $search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
|
||||
<?php print $sidebar_second ?>
|
||||
<?php if (!$page['sidebar_first'] && $search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
|
||||
<?php print render($page['sidebar_second']); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
</div> <!-- /#container -->
|
||||
</div> <!-- /#wrapper -->
|
||||
|
||||
<?php print $page_bottom; ?>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -19,6 +19,17 @@ function garland_breadcrumb($breadcrumb) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Override or insert variables into the html template.
|
||||
*/
|
||||
function garland_process_html(&$vars) {
|
||||
// Hook into color.module
|
||||
if (module_exists('color')) {
|
||||
_color_html_alter($vars);
|
||||
}
|
||||
$vars['styles'] .= "\n<!--[if lt IE 7]>\n" . garland_get_ie_styles() . "<![endif]-->\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Override or insert variables into the page template.
|
||||
*/
|
||||
|
@ -54,7 +65,6 @@ function garland_preprocess_page(&$vars) {
|
|||
else {
|
||||
$vars['secondary_nav'] = FALSE;
|
||||
}
|
||||
$vars['ie_styles'] = garland_get_ie_styles();
|
||||
|
||||
// Prepare header
|
||||
$site_fields = array();
|
||||
|
@ -73,7 +83,7 @@ function garland_preprocess_page(&$vars) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Override process function used to alter variables as late as possible.
|
||||
* Override or insert variables into the page template.
|
||||
*/
|
||||
function garland_process_page(&$vars) {
|
||||
// Hook into color.module
|
||||
|
|
|
@ -1,20 +1,6 @@
|
|||
<?php
|
||||
// $Id$
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
|
||||
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" dir="<?php print $language->dir; ?>"
|
||||
<?php print $rdf_namespaces; ?>>
|
||||
<head profile="<?php print $grddl_profile; ?>">
|
||||
<title><?php print $head_title; ?></title>
|
||||
<?php print $head; ?>
|
||||
<?php print $styles; ?>
|
||||
<?php print $scripts; ?>
|
||||
<?php print $ie_styles; ?>
|
||||
</head>
|
||||
<body class="<?php print $classes; ?>">
|
||||
|
||||
<?php print $page_top; ?>
|
||||
|
||||
?>
|
||||
<div id="branding" class="clearfix">
|
||||
<?php print $breadcrumb; ?>
|
||||
<?php if ($title): ?><h1 class="page-title"><?php print $title; ?></h1><?php endif; ?>
|
||||
|
@ -28,13 +14,13 @@
|
|||
<?php if ($show_messages && $messages): ?>
|
||||
<div id="console" class="clearfix"><?php print $messages; ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if ($help): ?>
|
||||
<?php if ($page['help']): ?>
|
||||
<div id="help">
|
||||
<?php print $help; ?>
|
||||
<?php print render($page['help']); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if ($action_links): ?><ul class="action-links"><?php print $action_links; ?></ul><?php endif; ?>
|
||||
<?php print $content; ?>
|
||||
<?php print render($page['content']); ?>
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
|
@ -42,8 +28,3 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php print $page_bottom; ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -4,10 +4,12 @@
|
|||
/**
|
||||
* Override or insert variables into the page template.
|
||||
*/
|
||||
function seven_process_html(&$vars) {
|
||||
$vars['ie_styles'] = '<!--[if lt IE 7]><style type="text/css" media="screen">@import ' . path_to_theme() . '/ie6.css";</style><![endif]-->';
|
||||
}
|
||||
function seven_preprocess_page(&$vars) {
|
||||
$vars['primary_local_tasks'] = menu_primary_local_tasks();
|
||||
$vars['secondary_local_tasks'] = menu_secondary_local_tasks();
|
||||
$vars['ie_styles'] = '<!--[if lt IE 7]><style type="text/css" media="screen">@import ' . path_to_theme() . '/ie6.css";</style><![endif]-->';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue