page.tpl.php

Переменные темы, отвечающие за отображение одной, отдельно взятой, страницы сайта.

Основные переменные:

Переменная Описание Пример использования
$base_path Абсолютный путь к директории установки Drupal на сервере. Если не настроено иначе, то всегда заканчивается слешем ("/").
<?php print $base_path; ?>
$css Массив CSS-файлов, подгружающихся для текущей страницы.
<?php print $css; ?>
$directory Путь до директории текущей темы от корневой папки, куда установлен Drupal.
<?php
print '<img src="'. $directory .'images/imgage.jpg" />';
?>
$is_front Переменная возвращает TRUE если текущая страница являеться главной страницей сайта.
<?php if ($is_front): ?>
...
Некое содержимое
...
<?php endif; ?>
$logged_in Возвращает TRUE если пользователь, просматривающий текущую страницу, зарегистрирован и авторизирован на сайте.
<?php if ($logged_in): ?>
...
Некое содержимое
...
<?php endif; ?>
$is_admin Возвращает TRUE если пользователь, просматривающий текущую страницу, имеет доступ к системным настройкам сайта. То бишь если это Админ.
<?php if ($is_admin): ?>
...
Некое содержимое
...
<?php endif; ?>

Мета-информация страницы:

Переменная Описание Пример использования
$language (объект документа) Язык сайта, на котором отображаеться текущее содержимое открытой страницы. Переменная $language->dir содержит языковые диррективы. Значение будет либо 'ltr', либо 'rtl'.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
$head_title Модифицированная (по отношению к более ранним версиям Drupal`а) версия вывода заголовков страниц. Значение переменной выводиться в мета-теге TITLE страницы.
<title>
<?php
print $head_title;
 ?>
</title>
$head Выводит «шапку»(данные внутри тега HEAD) страницы. Включает в себя мета-теги, ключевые слова и пр.
<?php
print $head;
?>
$styles Подключение всех CSS-файлов, отвечающих за отображение текущей страницы.
<?php print $styles; ?>
$scripts Подключение всех необходимых JavaScript-файлов для текущей страницы.
<?php print $scripts; ?>
$body_classes Динамически отображает CSS-классы для тега BODY в зависимости от статуса текущей страницы и позиционирования или отсутствия на ней различных областей с содержимым (например: авторизирован пользователь или нет, отображается ли левая или правая область с содержимым и т. д. и т. п.).
<body class="<?php print $body_classes; ?>">

Идентификация сайта:

Переменная Описание Пример использования
$front_page URL-адрес главной страницы сайта. Желательно использовать вместо переменной $base_path, если нужно отобразить гиперссылку на главную страницу. Данная переменная отображает так же и языковые префиксы, если сайт мультиязычен.
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" >
$logo Путь к изображению логотипа сайта в соответствии с настройками темы.
<?php if ($logo): ?>
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo">
<img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
</a>
<?php endif; ?>
$site_name Название сайта. Если в настройках темы отключена функция отображения данного текста, тогда переменная выводиться не будет.
<?php if ($site_name): ?>
<h1 id="site-name">
<a href="<?php print $front_page ?>" title="<?php print t('Home'); ?>" >
<span>
<?php print $site_name; ?>
</span>
</a>
</h1>
<?php endif; ?>
$site_slogan Слоган сайта. Ничего не выводится, если в настройках темы отображение слогана отключено.
<?php if ($site_slogan): ?>
<div id="site-slogan">
<?php print $site_slogan; ?>
</div>
<?php endif; ?>
$mission Текст миссии сайта. Если отключено отображение данной информации в настройках сайта, то ничего выводится не будет.
<?php if ($mission): ?>
<div id="mission">
<?php print $mission; ?>
</div>
<?php endif; ?>

Поиск и навигация:

Переменная Описание Пример использования
$search_box Возвращает HTML-код формы поиска по сайту. Ничего выводить не станет, если форма поиска отключена в настройках текущей темы.
<?php if $search_box): ?>
<div id="search-box">
<?php print $search_box; ?>
</div>
<?php endif; ?>
$primary_links (array) Отображает массив меню «основных» ссылок (primary_links), если данное меню их содержит.
<?php if (isset($primary_links)) : ?>
<?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>
<?php endif; ?>
$secondary_links (array) Отображает массив меню «дополнительных» ссылок (secondary_links), если данное меню их содержит.
<?php if (isset($secondary_links)) : ?>
<?php print theme('links', $secondary_links, array('class' => 'links secondary-links')) ?>
<?php endif; ?>

Элементы содержимого страницы (в порядке их появления в «стандртном» файле page.tpl.php):

Переменная Описание Пример использования
$left Возвращает HTML-код для условно «левой» области (сайдбара) страницы.
<?php if ($left): ?>
<div id="sidebar-left">
<?php print $left; ?>
<?php endif; ?>
$right Возвращает HTML-код для условно «правой» области (сайдбара) страницы.
<?php if ($right): ?>
<div id="sidebar-right">
<?php print $right; ?>
<?php endif; ?>
$breadcrumb «Хлебные крошки». Выводит динамическое навигационное меню, отображающее ссылки на главную страницу сайта и страницы «верхнего» уровня в зависимости от текущей страницы.
<?php if ($breadcrumb): ?>
<div id="breadcrumb">
<?php print $breadcrumb; ?>
</div>
<?php endif; ?>
$title Выводит заголовок страницы, изменяющийся динамически в зависимости от открытой текущей страницы.
<?php if ($title):
print '<h1'. $title .'</h1>';
endif; ?>
$help В месте расположения переменной на странице будет динамически выводиться справочный текст для текущей страницы (если таковой имеется). Актуально, в основном, для страниц администрирования.
<?php print $help; ?>
$messages Выводит HTML-код с сообщениями о статусе текущей операции или произошедших ошибках. Рекомендуется подключать в обязательном порядке.
<?php if ($messages):
print $messages;
endif; ?>
$tabs Выводит ссылки в виде вкладок (табов) для подстраниц относительно текущей, если таковые имеются.
<?php if ($tabs):
print $tabs;
endif; ?>
$content Отвечает за вывод основного содержимого текущей страницы.
<?php print $content; ?>

Информация и данные, отображаемые в «подвале» шаблона страницы и «закрывающие» служебные переменные:

Переменная Описание Пример использования
$feed_icons Переменная выводит RSS-иконки с ссылками на все новостные ленты, актуальные для текущей страницы.
<?php print $feed_icons; ?>
$footer_message Выводит заданный в настройках текст в нижней области (подвале) страницы (например с «копирайтами»).
<?php print $footer_message; ?>
$footer Выводит регион подвал (footer).
<div id="footer">
<?php print $footer; ?>
</div>
$closure Данная переменная означает окончание области, где расположены переменные для их динамической интерпретации «движком». Переменная должна присутствовать в коде файла page.tpl.php обязательно. Располагается, как правило, перед закрывающим тегом BODY внизу страницы.
<?php print $closure; ?>
</body>

Пример кода разметки страницы

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
Код области тега Head
<head>
  <title><?php print $head_title; ?></title>
  <?php print $head; ?>
  <?php print $styles; ?>
  <?php print $scripts; ?>
</head>
Форма поиска (Search Box)
<?php if ($search_box): ?>
  <?php print $search_box; ?>
<?php endif; ?>
Логотип сайта (Logo)
<?php if ($logo): ?>
  <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo">
    <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
  </a>
<?php endif; ?>
Название сайта (Site Name)
<?php if ($site_name): ?>
  <h1 id="site-name">
    <a href="<?php print $front_page ?>" title="<?php print t('Home'); ?>" rel="home">
      <span><?php print $site_name; ?></span>
    </a>
  </h1>
<?php endif; ?>
Слоган сайта (Site Slogan)
<?php if ($site_slogan): ?>
  <?php print $site_slogan; ?>
<?php endif; ?>
«Основное» меню сайта (Primary Links)
<?php if ($primary_links): ?>
  <?php print theme('links', $primary_links, array('class' => 'links primary-links')); ?>
<?php endif; ?>
Верхний регион страницы (Header Content)
<?php if ($header): ?>
  <?php print $header; ?>
<?php endif; ?>
Левый регион страницы (Left Sidebar)
<?php if ($left): ?>
  <?php print $left; ?>
<?php endif; ?>
Правый регион (Right Sidebar)
<?php if ($right): ?>
  <?php print $right; ?>
<?php endif; ?>
Область основного содержания страницы (Main Content)
<?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 if ($tabs2): ?>
<div class="tabs2">
<?php print $tabs2; ?>
</div>
<?php endif; ?>
<?php if ($messages): print $messages; endif; ?>
<?php if ($help): print $help; endif; ?>
<?php print $content; ?>
<?php print $feed_icons; ?>
«Подвал» страницы (Footer)
<?php print $footer_message; ?>
<?php if ($footer): print $footer; endif; ?>
«Закрывающие» теги страницы (Closing HTML)
<?php print $closure ?>
</body>
</html>
Dalay