Вы здесь

page.tpl.php

page.tpl.php — шаблон формирующий страницу.

Переменные

  • $base_path — папка сайта
  • $css — массив CSS-файлов страницы
  • $breadcrumb — цепочка навигации
  • $closure — закрывающая метка (эта переменная всегда должна использоваться в шаблоне последней, после определения всего динамически подгружаемого содержания)
  • $content — содержание документа
  • $directory — папка темы (например themes/garland или themes/garland/minelli)
  • $feed_icons — значок RSS
  • $footer_message — штамп. Показывается в нижней колонке, берётся из поля Footer message на странице Administer → Site configuration → Site information. Если поле Footer message не заполнено — выводится ничего не будет.
  • $head — HTML-код сгенерированный функцией drupal_get_html_head().
  • $head_title — переменная выводит «название документа | название сайта». Обычно вставляется в HTML-тег HEAD и показывается в названии окна браузера.
  • $help — справка. Используется в основном на страницах управления. Например, если перейти на страницу Administer, то можно увидеть сообщение «Welcome to the administration section. Here you may control how your site functions». Если этой переменной в шаблоне не будет, то не будет и этого справочного сообщения.
  • $is_front — возвращает значение 1 (TRUE, если загружена первая страница сайта) или 0 (FALSE, если загружена любая другая страница)
  • $language — выводит язык сайта для помощи в определении кодировки браузером. Значение берётся со страницы Administer → Site configuration → Localization.
  • $layout — параметр, позволяющий раздельно оформлять типы макетов (none, left, right или both) в зависимости от количества боковых колонок
  • $logo — адрес логотипа. Данные берутся со страницы темы, если в настройках показ логотипа запрещён, то показываться он не будет и при наличии этой переменной.
  • $messages — системные сообщения о статусе и ошибках. Например, если введённые псевдоним и пароль не совпадают, то будет выведено сообщение «Sorry, unrecognized username or password. Have you forgotten your password?» Если этой переменной в шаблоне не будет, то не будет и этого системного сообщения.
  • $mission — информация о миссии. Информация берётся на странице Administer → Site configuration → Site information. Если поле Mission заполнено, но на странице темы его показ запрещён, то информация показываться не будет и при наличии этой переменной.
  • $node — возвращает значение 1 (TRUE, если показывается полное содержание документа) или 0 (FALSE, если показывается краткое содержание документа)
  • $onload_attributes — onload tags to be added to the head tag, to allow for autoexecution of attached scripts
  • $primary_links (array) — массив основных ссылок (Primary links)
  • $scripts — переменная загружающая файлы JavaScript
  • $search_box — форма поиска. Если модуль Search не активирован или на странице темы показ формы поиска отключен, то форма поиска выводится не будет
  • $search_button_text — текст кнопки поиска (название кнопки, которое можно перевести на любой язык)
  • $search_description — текст описания кнопки поиска (описание кнопки, которое можно перевести на любой язык)
  • $search_url — адрес страницы с результатами поиска
  • $secondary_links (array) — массив дополнительных ссылок (Secondary links)
  • $sidebar_left — левая колонка
  • $sidebar_right — правая колонка
  • $site — название сайта (информация берётся на странице Administer → Site configuration → Site information). Выводится всегда.
  • $site_name — название сайта (информация берётся на странице Administer → Site configuration → Site information). Если на странице темы показ названия сайта отключен, то выводится не будет
  • $site_slogan — слоган сайта (информация берётся на странице Administer → Site configuration → Site information). Если в настройках темы показ слогана отключен, то выводится не будет
  • $styles — загрузка стилей (файл style.css из папки темы и .css-файлы в папках модулей)
  • $tabs — вкладки. Например, если вы перейдете на страницу Administer, то это будут вкладки By task и By module, если у вас есть права на редактирование документов, то это вкладки View, Edit, Book, Revisions...
  • $title — название страницы

Пример шаблона

<!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 ?>" lang="<?php print $language ?>">
  <head>
    <title><?php print $head_title ?></title>
    <?php print $head ?>
    <?php print $styles ?>
    <?php print $scripts ?>
    <style type="text/css" media="print">@import "<?php print base_path() . path_to_theme() ?>/print.css";</style>
    <!--[if lt IE 7]>
    <style type="text/css" media="all">@import "<?php print base_path() . path_to_theme() ?>/fix-ie.css";</style>
    <![endif]-->
  </head>
  <body<?php print phptemplate_body_class($sidebar_left, $sidebar_right); ?>>

<!-- Layout -->
  <div id="header-region" class="clear-block"><?php print $header; ?></div>

    <div id="wrapper">
    <div id="container" class="clear-block">

      <div id="header">
        <div id="logo-floater">
        <?php
         
// Prepare header
         
$site_fields = array();
          if (
$site_name) {
           
$site_fields[] = check_plain($site_name);
          }
          if (
$site_slogan) {
           
$site_fields[] = check_plain($site_slogan);
          }
         
$site_title = implode(' ', $site_fields);
         
$site_fields[0] = '<span>'. $site_fields[0] .'</span>';
         
$site_html = implode(' ', $site_fields);

          if (
$logo || $site_title) {
            print
'<h1><a href="'. check_url($base_path) .'" title="'. $site_title .'">';
            if (
$logo) {
              print
'<img src="'. check_url($logo) .'" alt="'. $site_title .'" id="logo" />';
            }
            print
$site_html .'</a></h1>';
          }
       
?>

        </div>

        <?php if (isset($primary_links)) : ?>
          <?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>
        <?php endif; ?>
        <?php if (isset($secondary_links)) : ?>
          <?php print theme('links', $secondary_links, array('class' => 'links secondary-links')) ?>
        <?php endif; ?>

      </div> <!-- /header -->

      <?php if ($sidebar_left): ?>
        <div id="sidebar-left" class="sidebar">
          <?php if ($search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
          <?php print $sidebar_left ?>
        </div>
      <?php endif; ?>

      <div id="center"><div id="squeeze"><div class="right-corner"><div class="left-corner">
          <?php if ($breadcrumb): print $breadcrumb; endif; ?>
          <?php if ($mission): print '<div id="mission">'. $mission .'</div>'; endif; ?>

          <?php if ($tabs): print '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
          <?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
          <?php if ($tabs): print $tabs .'</div>'; endif; ?>

          <?php if (isset($tabs2)): print $tabs2; endif; ?>

          <?php if ($help): print $help; endif; ?>
          <?php if ($messages): print $messages; endif; ?>
          <?php print $content ?>
          <span class="clear"></span>
          <?php print $feed_icons ?>
          <div id="footer"><?php print $footer_message ?></div>
      </div></div></div></div> <!-- /.left-corner, /.right-corner, /#squeeze, /#center -->

      <?php if ($sidebar_right): ?>
        <div id="sidebar-right" class="sidebar">
          <?php if (!$sidebar_left && $search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
          <?php print $sidebar_right ?>
        </div>
      <?php endif; ?>

    </div> <!-- /container -->
  </div>
<!-- /layout -->

  <?php print $closure ?>
  </body>
</html>