Вы здесь

Друпал 6: page.tpl.php

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

Переменные

Системные переменные

  • $base_path — папка сайта
  • $css — массив CSS-файлов страницы
  • $directory — папка темы (например themes/garland или themes/garland/minelli)
  • $is_front — возвращает значение 1 (TRUE, если загружена первая страница сайта) или 0 (FALSE, если загружена любая другая страница)
  • $logged_in — переменная возвращает значение 1 (TRUE, если пользователь находится в аккаунте) или 0 (FALSE, если пользователь не находится в аккаунте)
  • $is_admin — переменная возвращает значение 1 (TRUE, если у пользователя есть право доступа к страницам управления сайтом) или 0 (FALSE, если у пользователя нет права доступа к страницам управления сайтом)

Переменные метаданных

  • $body_classes — набор CSS-классов HTML-тега body. Содержит флажки, указывающие на макет текущей страницы (количество колонок), текущий путь, статус пользователя и т.д.
  • $headHTML-код сгенерированный функцией drupal_get_html_head()
  • $head_title — переменная выводит «название документа | название сайта». Обычно вставляется в HTML-тег HEAD и показывается в названии окна браузера
  • $language (object) — выводит язык сайта для помощи в определении кодировки браузером (значение берётся со страницы языков). Переменная $language->language содержит определение языка, переменная $language->dir содержит информацию о направление письма
  • $scripts — переменная загружающая файлы JavaScript
  • $styles — загрузка стилей (файл style.css из папки темы и .css-файлы в папках модулей)

Переменные идентификации

  • $front_pageURL первой страницы сайта. Используется вместо переменной $base_path в случае ссылки на первую страницу сайта (переменная включает язык домена или префикс используемого языка)
  • $logo — адрес логотипа. Данные берутся со страницы темы, если в настройках показ логотипа запрещён, то показываться он не будет и при наличии этой переменной
  • $mission — информация о миссии. Информация берётся на странице информации о сайте. Если поле Миссия заполнено, но на странице темы его показ запрещён, то информация показываться не будет и при наличии этой переменной
  • $site_name — название сайта (информация берётся на странице информации о сайте). Если на странице темы показ названия сайта отключен, то выводится не будет
  • $site_slogan — слоган сайта (информация берётся на странице информации о сайте). Если в настройках темы показ слогана отключен, то выводится не будет

Переменные навигации

  • $primary_links (array) — массив основных ссылок
  • $search_box — форма поиска. Если модуль Search не активирован или на странице темы показ формы поиска отключен, то форма поиска выводится не будет
  • $secondary_links (array) — массив дополнительных ссылок

Переменные содержания

  • $breadcrumb — цепочка навигации
  • $content — содержание страницы
  • $help — справка (используется в основном на страницах управления)
  • $left — левый регион
  • $messages — системные сообщения о статусе и ошибках (например документ такой-то обновлён, тег такой-то добавлен, запуск cron выполнен успешно и т.д. Для этой переменной следует использовать заметное оформление)
  • $right — правый регион/li>
  • $tabs — вкладки (например вкладки Просмотр, Правка и т.д.)
  • $title — заголовок страницы

Нижняя колонка/закрытие данных

  • $closure — закрывающая метка (эта переменная всегда должна использоваться в шаблоне последней, после определения всего динамически подгружаемого содержания)
  • $feed_icons — значок RSS
  • $footer — нижний регион
  • $footer_message — штамп (определяется на странице информации о сайте)

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

<!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>
  <title><?php print $head_title; ?></title>
  <?php print $head; ?>
  <?php print $styles; ?>
  <?php print $scripts; ?>
  <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyled Content in IE */ ?> </script>
</head>
<body class="<?php print $body_classes; ?>">
  <div id="page">
    <div id="header">
      <div id="logo-title">

        <?php if (!empty($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; ?>

        <div id="name-and-slogan">
          <?php if (!empty($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; ?>

          <?php if (!empty($site_slogan)): ?>
            <div id="site-slogan"><?php print $site_slogan; ?></div>
          <?php endif; ?>
        </div> <!-- /name-and-slogan -->
      </div> <!-- /logo-title -->

      <?php if (!empty($search_box)): ?>
        <div id="search-box"><?php print $search_box; ?></div>
      <?php endif; ?>

      <?php if (!empty($header)): ?>
        <div id="header-region">
          <?php print $header; ?>
        </div>
      <?php endif; ?>

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

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

      <div id="navigation" class="menu <?php if (!empty($primary_links)) { print "withprimary"; } if (!empty($secondary_links)) { print " withsecondary"; } ?> ">
        <?php if (!empty($primary_links)): ?>
          <div id="primary" class="clear-block">
            <?php print theme('links', $primary_links, array('class' => 'links primary-links')); ?>
          </div>
        <?php endif; ?>

        <?php if (!empty($secondary_links)): ?>
          <div id="secondary" class="clear-block">
            <?php print theme('links', $secondary_links, array('class' => 'links secondary-links')); ?>
          </div>
        <?php endif; ?>
      </div> <!-- /navigation -->

      <?php if (!empty($left)): ?>
        <div id="sidebar-left" class="column sidebar">
          <?php print $left; ?>
        </div> <!-- /sidebar-left -->
      <?php endif; ?>

      <div id="main" class="column"><div id="main-squeeze">
        <?php if (!empty($breadcrumb)): ?><div id="breadcrumb"><?php print $breadcrumb; ?></div><?php endif; ?>
        <?php if (!empty($mission)): ?><div id="mission"><?php print $mission; ?></div><?php endif; ?>

        <div id="content">
          <?php if (!empty($title)): ?><h1 class="title" id="page-title"><?php print $title; ?></h1><?php endif; ?>
          <?php if (!empty($tabs)): ?><div class="tabs"><?php print $tabs; ?></div><?php endif; ?>
          <?php if (!empty($messages)): print $messages; endif; ?>
          <?php if (!empty($help)): print $help; endif; ?>
          <div id="content-content" class="clear-block">
            <?php print $content; ?>
          </div> <!-- /content-content -->
          <?php print $feed_icons; ?>
        </div> <!-- /content -->

      </div></div> <!-- /main-squeeze /main -->

      <?php if (!empty($right)): ?>
        <div id="sidebar-right" class="column sidebar">
          <?php print $right; ?>
        </div> <!-- /sidebar-right -->
      <?php endif; ?>

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

    <div id="footer-wrapper">
      <div id="footer">
        <?php print $footer_message; ?>
        <?php if (!empty($footer)): print $footer; endif; ?>
      </div> <!-- /footer -->
    </div> <!-- /footer-wrapper -->

    <?php print $closure; ?>

  </div> <!-- /page -->

</body>
</html>

Комментарии

Изображение пользователя givchik

Как высвисти breadcrumb в подвале сайта?
Предполагаю нужно

<?php if (!empty($breadcrumb)): ?><div id="breadcrumb"><?php print $breadcrumb; ?>

вывести в подвал сайта, и получим
<div id="footer-wrapper">
      <div id="footer">
        <?php if (!empty($breadcrumb)): ?><div id="breadcrumb"><?php print $breadcrumb; ?></div><?php endif; ?>
        <?php print $footer_message; ?>
        <?php if (!empty($footer)): print $footer; endif; ?>
      </div> <!-- /footer -->
    </div> <!-- /footer-wrapper -->

    <?php print $closure; ?>

  </div> <!-- /page -->

Попробую о результатах отпишусь, пока вопрос горячий, мне он вверху совсем не греет, точнее ломает шаблон и его просто не видно

Решено

мой код конечно проще но сработало на ура.

<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>

вид до редакции
<<?php if (!empty($banner3)) { echo '<div id="banner3">'.$banner3.'</div>'; } ?>
<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>

вид после редакции
<?php if (!empty($banner6)) { echo '<div id="banner6">'.$banner6.'</div>'; } ?>
<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>

пример с более сложным содержанием
<div class="art-footer">
    <div class="art-footer-inner">
        <?php
           
if (!empty($feed_icons)) {
                echo
$feed_icons;
            }
            else {
                echo
'<a href="rss.xml" class="art-rss-tag-icon"></a>';
            }
       
?>

        <div class="art-footer-text">
        <?php
           
if (!empty($footer_message) && (trim($footer_message) != '')) {
                echo
$footer_message;
            }
            else {
                echo
'<p><a href="#">Contact Us</a>&nbsp;|&nbsp;<a href="#">Terms of Use</a>&nbsp;|&nbsp;<a href="#">Trademarks</a>&nbsp;|&nbsp;<a href="#">Privacy Statement</a><br />'.
                    
'Copyright &copy; 2010&nbsp;'.$site_name.'.&nbsp;All Rights Reserved.</p>';
            }
       
?>

        <?php if (!empty($copyright)) { echo $copyright; } ?>
        </div>
    </div>
<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>
    <div class="art-footer-background"></div>
</div>

    </div>
</div>

главное поделить на блоки
и определиться где вставить, или после чего и перед чем
Всем спасибо
Таким чайникам как я надеюсь поможет!)