Нашел на просторах Интернета самый обалденный, понятный, простой пост про создание темы для Друпала 6 (theme Drupal 6).
Главный файл темы оформления в Drupal - page.tpl.php. Сделайте копию макета Вашего сайта и переименуйте его в page.tpl.php. Затем, просто вставьте приведенный в дальнейшем в инструкции код в свой макет (в нужные места файла page.tpl.php).
В начало файла добавьте:
<html xmlns="http://www.w3.org/1999/xhtml" lang=" <?php print $language ->language ?> " xml:lang=" <?php print $language -> language ?> " dir=" <?php print$language -> dir ?> ">
Это рекомендованный способ начать вашу страницу, вместо стандартного тега html.
В раздел head макета добавьте:
<head>
<title> <?php print $head_title ; ?> </title>
<?php print $head ; ?>
<?php print $styles ; ?>
<?php print $scripts ; ?>
</head>
Этот код соответственно добавляет заголовок для сайта, стили и скрипты.
Большинство сайтов имеют правые и левые колонки, располагающиеся рядом с основным содержанием страницы. Эти колонки, как правило, содержат различную полезную информацию (например, вход, меню, недавние комментарии и т.д.). В Drupal эти информационные области называется "Блоки". Вы можете настроить отображение блоков на сайте в специальном разделе "Блоки" (Управление > Конструкция сайта > Блоки, admin/build/block).
В Drupal для того, чтобы знать, куда поставить блок, макет должен содержать специальные «метки».А для этого нужно добавить несколько "меток" в макет главного файла темы – page.tpl.php. Такие метки называются «Регионы». Очень важно добавить хотя бы одну колонку (то есть регион) в Ваш макет, чтобы в дальнейшем отображалось меню администратора и форма входа на сайт. Ниже Вы видите код для добавления левого и правого региона:
<?php print $left ; ?>
...и/или...
<?php print $right ; ?>
Drupal сайт по умолчанию уже содержит три вида меню. Первое – это меню администратора сайта. Основное меню сайта называется Primary Links. Существует также меню Secondary Links, которое можно использовать как самостоятельное меню, либо как меню второго уровня (подменю) для Primary Links. C помощью CSS Вы можете легко изменить стиль отображения всех меню на сайт.
Есть несколько вариантов добавить места для Primary Links и Secondary Links прямо в макет сайта.
Простой вариант. Его нужно использовать, если Вы точно уверены в наличии и отображении во всех разделах сайта и основного меню Primary и его подменю:
<div id="primary">
<?php print theme ( 'links' , $primary_links ); ?>
</div> <!-- /#primary -->
<div id="secondary">
<?php print theme ( 'links' , $secondary_links ); ?>
</div> <!-- /#secondary -->
Если Вы считаете, что на некоторых страницах сайта меню может полностью или частично отсутствовать, то лучше использовать следующий код (он такой же что и первый вариант, только использует проверку на наличие меню):
<?php if ( $primary_links ): ?>
<div id="primary">
<?php print theme ( 'links' , $primary_links ); ?>
</div> <!-- /#primary -->
<?php endif; ?>
<?php if ( $secondary_links ): ?>
<div id="secondary">
<?php print theme ( 'links' , $secondary_links ); ?>
</div> <!-- /#secondary -->
<?php endif; ?>
На данный момент можно сказать, что Вы добавили в свой макет все необходимые второстепенные блоки. Теперь пришло время добавить область, в которой будет отображаться основное содержание Вашего сайта.
Найдите нужное место в шаблоне, куда Вы хотите добавить основное содержание (как правило, в центре страницы, после заголовка и между колонками) и вставьте следующий код:
<?php print $breadcrumb ; ?>
<?php if ( $mission ): ?> <div id="mission"> <?php print $mission ; ?> </div> <?php endif; ?>
<div id="content">
<?php if ( $title ): ?> <h1 class="title"> <?php print $title ; ?> </h1> <?phpendif; ?>
<?php if ( $tabs ): ?> <div class="tabs"> <?php print $tabs ; ?> </div> <?phpendif; ?>
<?php if ( $show_messages ): print $messages ; endif; ?>
<?php print $help ; ?>
<?php print $content ; ?>
</div>
Для добавления регионов колонтитула и подвала (футера) вставьте следующий код внизу вашей макета:
<?php if ( $footer_message || $footer ) : ?>
<div id="footer-message">
<?php print $footer_message . $footer ; ?>
</div>
<?php endif; ?>
В конце файла page.tpl.php Вы должны обязательно (для правильной работы сайта) вставить следующий код:
<?php print $closure ; ?>
</body>
</html>
В 6 версии CMS Drupal, для того чтобы система опознала Вашу тему оформления, необходимо создать специальный файл с расширением .info – НазваниеТемы.info (Название темы – латиницей). Просто создайте пустой файл, и вставьте в него следующий код, добавив от себя только название темы и ее описание. Сохраните этот файл в папке Вашей темы.
name = НазваниеТемы (латиницей)
description = Описание Вашей темы
core = 6.x
engine = phptemplate
stylesheets[all][] = style.css
regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[footer] = Footer
Как Вы видите, в этом файле также перечисляются регионы, которые Вы используете в своем макете. Вы можете здесь добавить новые регионы, либо удалить имеющиеся. При добавлении/удалении регионов не забывайте вносить изменения в главный файл темы оформления – page.tpl.php.
И в продолжение: добавление собственных регионов для главной страницы
Вначале статьи заметим, что этот материал имеет отношение только к темам, созданным на основе PHPTemplate (по умолчанию движок для тем в Drupal). Добиться отображения на главной странице сайта только нужных регионов можно несколькими способами.
Один из самых простых решений – скопировать файл page.tpl.php (находится в папке Вашей темы) и переименовать эту копию в page-front.tpl.php. Именно этот файл и будет отвечать за отображение информации на главной странице Вашего сайта. И чтобы изменить ее нужно будет только внести изменения в page-front.tpl.php.
Если же Вы не сторонник увеличения количества файлов в теме Вашего сайта, то имеется альтернативный вариант, как внести изменения в рамках существующего файла page.tpl.php. Для этого вначале нам необходимо будет создать новые регионы, которые будут отображаться только на главной странице (этот пункт важен и для первого варианта). Допустим это будут три региона – «frontpage top», «frontpage center», «frontpage bottom».
Чтобы создать новые регионы (в 6 версии) необходимо добавить в специальный код в файл с расширением .info. Имя данного файла будет полностью совпадать с названием Вашей темы. То есть для темы оформления garland нужный файл будет называться garland.info. В этот файл нужно будет добавить список имеющихся регионов и вновь создаваемых Вами регионов:
regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
regions[frontpage_top] = Frontpage Top
regions[frontpage_center] = Frontpage Center
regions[frontpage_bottom] = Frontpage Bottom
Теперь после того как новые регионы были добавлены, откройте файл page.tpl.php и в необходимое Вам место поместите следующий код, который добавит новый регион «Frontpage Top» на Вашу главную страницу:
<?php if ( $is_front || strstr ( $_GET [ 'q' ], 'admin/block' )) : ?>
<div id="frontpage_top" class="frontpage">
<?php print $frontpage_top ?>
</div>
<?php endif; ?>
Повторите эту процедуру для оставшихся регионов Frontpage Center и Frontpage Bottom. Вы можете объединить все регионы в рамках одного запроса if () для улучшения производительности.
Для того чтобы добавить блоки с информацией в новые регионы, перейдите в раздел «Блоки» (Главная › Управление › Конструкция сайта) и внесите нужные изменения.
Если же Вы не хотите отображать один из стандартных регионов на главной странице, то добавьте перед этим регионов код:
<?php if (!$is_front) { ?>
а после региона код:
<?php } ?>