Читать «Журнал PC Magazine/RE №11/2009» онлайн - страница 94

PC Magazine/RE

Аналогичное назначение и у параметра scripts. Перечисленные в нем JavaScript, а также сценарии, добавленные модулями через функцию drupal_add_js(), будут подключены ко всем страницам сайта. Если в папке с темой оформления есть файл script.js, он также будет подключен к каждой странице.

Параметры regions определяют список доступных в шаблоне page.tpl.php регионов. Значение в скобках станет PHP-переменной, например $left или $footer (поэтому здесь недопустимо использовать пробелы, дефисы и другие запрещенные в именах PHP-переменных символы), а значение после знака «равно» – именем региона, доступным на странице управления блоками.

Файл page.tpl.php при использовании приведенного выше *.info-файла может иметь структуру подобную приведенной в листинге 2. Это очень простой пример, призванный продемонстрировать общую логику разработки темы оформления для Drupal, поэтому здесь опущено много деталей. Лучший способ научиться темизировать Drupal – изучить существующую тему оформления, например тему Zen. Она содержит детальное описание всех используемых стилей и переменных.

Листинг 2

<HTML>

  <head>

    <title><?php print $head_title ?></title>

    <?php print $head ?>

    <?php print $styles ?>

    <?php print $scripts ?>

  </head>

  <body>

    <div class="header">

      <?php print $header ?>

    </div>

    <div class="left-sidebar">

      <?php print $left ?>

    </div>

    <div class="content">

      <?php print $content ?>

    </div>

    <div class="footer">

      <?php print $footer ?>

    </div>

  </body>

</HTML>

Переменные $header, $left и $footer в нашем примере будут заполнены HTML-кодом блоков, которые администратор сайта разместит в соответсвующих регионах. В переменной $head_title будет находиться загловок страницы, «склеенный» Drupal из имени сайта и заголовка текущей страницы, а переменные $head, $styles и $scripts будут заменены соответственно метатегами, ссылками на файлы стилей и JavaScript.

Переменная $content в шаблоне page.tpl.php заменится на содержимое текущей страницы, например на тело документа (шаблон node.tpl.php) или содержимое, генерируемое каким-либо модулем. Если в текущей теме оформления нет файла node.tpl.php, то используется одноименный файл из ядра Drupal, находящийся в папке modules/node.

Оформляем Views

Views – один из самых востребованных модулей для Drupal – позволяет создавать списки документов (представления, view), отфильтрованные по любому сложному алгоритму. На выходе модуль возвращает массив данных, который выводится в шаблоне, соответствующем выбранному администратором типу отображения (display) данных. Каждое представление может быть отображено в виде таблицы, маркированного списка, решетки (grid) и т. п. Чтобы переопределить используемый для отображения представления шаблон, нужно в свойствах представления в блоке Basic settings найти параметр Theme information и посмотреть в нем имена шаблонов, которые могут быть использованы модулем для отображения текущего представления. Затем нужно в подпапке theme модуля Views найти шаблон, соответствующий выбранному типу отображения (например, views-view-table.tpl.php для табличного варианта отображения или views-view-list.tpl.php для списка), скопировать его в папку с текущей темой оформления и присвоить ему одно из имен, перечисленных в Theme information. Теперь созданный шаблон можно настроить для своих нужд.