нашел статью о том как делать свои шаблоны для Drupal в dremviver cs4.Думаю пригодиться.
Темы для Drupal представляют собой сочетание PHP и соответствующей веб-стандартам верстки (XHTML и CSS). Пуританским подходом в создании темы для Drupal можно считать создание шаблона с помощью только PHP, фактически без шаблона как такового, используя только Drupal API. Веб-разработчики, которые не испытывают трудностей с созданием разметки могут создать тему для Drupal быстрее, чем разработчики, поскольку могут использовать вставки специальных переменных для вывода системных блоков движка непосредственно в разметке страницы в специальных файлах шаблона. Эти шаблоны широко известны как TPL файлы, которые, собственно и имеют расширение.tpl или tpl.php.
Drupal позволяет устанавливать и использовать несколько тем, например одну тему для администраторов, а другую тему для пользователей сайта. Такой подход рекомендуется при установке новых пользовательских тем, тем самым помогает предотвратить проблемы с администрированием сайта, если новая тема имеет какие-то проблемы. Создание разметки (темы) является финальным этапом разработки сайта на Drupal. Именно тема определяет то как будут отображаться данные на вашем сайте.
Если не углубляться в детали то, темы для Drupal представляют собой набор графики, стилей и файлов-шаблонов. Помните, что в самих шаблонах используется XHTML, CSS и PHP. Каждая тема имеет разделена на определённые структурные элементы которые, как правило организованы с помощью <div> тегов. Drupal заполняет эти регионы содержанием сайта. Если вы когда-либо использовали «server-side includes» для хедера и футера вашего сайта, то вы уже можете представить себе то, что Drupal делает при выводе каждой области контента. Контент в Drupal выводится двумя основными логическими единицами nodes (ноды — статьи или объекты) и блоки. Ноды, как упоминалось выше, являются страницами контента, например, новости или записи блога. Блоки являются вторичным контентом, допустим к блокам мы отнесём списки статей или новый опрос, как правило, они выводятся в левой или правой боковой панели сайта.
Использование Dreamweaver для работы с темами Drupal
По умолчанию в Dreamweaver можно редактировать любые файлы шаблонов темы Drupal, которые заканчиваются на .tpl.php, но Dreamweaver не знаком API Drupal или любыми другими пользовательскими типами файлов, которые используются в темах или модулях Drupal (типы файлов, такие как .info и .module). В помощь членам сообщества Drupal и пользователям Dreamweaver, было создано
расширение для Dreamweaver, которое позволяет поддерживать типы файлов Drupal и все Drupal API (см. Рисунок 1).
Примечание: Для того чтобы добавить расширение в редактор используйте Менеджер расширений.
![](http://www.master-web.info/wp-content/uploads/2009/07/fig01-300x97.jpg)
Большим преимуществом Dreamweaver при работе с шаблонами Drupal является возможность эффективно применять и изменять стили. Для этого вы можете использовать отображение в проекции «Дизайн» совместно с встроенным редактором CCS. Каждый шаблон может содержать «дизайнерскую» ссылку на стили, которая позволит просматривать некоторые результаты оформления прямо в редакторе. Процесс использования дизайнерских стилей подробно описан в документации по Dreamveawer.
Каждая тема Drupal требует .info файл, который содержит мета-информацию о теме, например, название темы, описание стилей, и регионов. Это не PHP файл, а простой текстовый файл, который есть в каждой теме. Без этого файл Drupal не будет отображать вашу тему в панели администрирования. Рисунок 2 показывает типичную папку темы Drupal (в таком случае показана тема из базовой сборки — «Garland»).
Что из себя представляет .info-файл
Если посмотреть на список файлов в теме Garland, который показан на Рисунке2, то, не считая графических файлов и директорий, мы увидим TPL файлы шаблонов (.tpl.php), файлы стилей и .info-файл с информацией о теме. Заметим, что папка и имя .info-файла совпадают. .info-файл (.info) это первый файл, который необходимо создать, поскольку он будет определять в теме ваши регионы, скрипты и стили. В следующем примере показан типичный .info-файл темы Drupal:
name = Untitled Theme
description = Our very cool theme made in Dreamweaver CS4.
screenshot = custom_screenshot.jpg
version = 1.0
core = 6.x
engine = phptemplate
regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
features[] = logo
features[] = search
features[] = favicon
features[] = primary_links
features[] = secondary_links
stylesheets[all][] = styles.css
stylesheets[print][] = print.css .info-файл определяет название вашей темы, описание, регионы, особенности (которые мы пока не рассматривали) и стили. В административной панели можно посмотреть как Drupal выводит информацию из этого файла. Для более подробного изучения данного вопроса можно обратится к
онлайн документации Drupal.
Использование AIR-приложения «Drupal Theme Starter»
C помощью Dreamveawer (как и любого другого текстового редактора) вы можете создать информационный (.info) файл для вашей темы. Но мы можем упростить эту задачу и избавится от лишней ручной работы, используя специальное бесплатное AIR-приложение — Drupal Theme Starter. «Стартер» поможет вам создать .info-файл для темы за несколько секунд. Загрузите и установите приложение и используйте его для создания.info-файла. А потом можно использовать Dreamweaver для редактирования разметки и стилей.
Примечание: При создании .info-файла не используйте в названии темы цифры или спецсимволы, так как Drupal на основании названия данного файла создаст внутренний ID темы, для использования в работе движка.
![](http://www.master-web.info/wp-content/uploads/2009/07/fig03-300x205.jpg)
Рисунок 3. Приложение Drupal Theme Starter: Определяем мета информацию для темы: название, описание, скриншот.
![](http://www.master-web.info/wp-content/uploads/2009/07/fig04-300x205.jpg)
Рисунок 4. Определяем регионы темы и особенности.
![](http://www.master-web.info/wp-content/uploads/2009/07/fig05-300x205.jpg)
Рисунок 5. Объявляем стили и скрипты для темы.
Углубляемся в ядро Drupal
Начинается самая сложная часть для новичков в Drupal. Нет какого-либо магического кода для шаблона Drupal. Все темы базируются на использовании кода, который определен в ядре движка. Для того чтобы идти дальше, нам нужно загрузить последнюю версию Drupal 6.x. Первую свою тему лучше создавать на основании базовой темы, которая идет в сборке движка. Следует скопировать из нее нужные вам файлы. Вы можете оставить сам код и применить к теме свои стили и разметку. На первый взгляд легко. Не так ли? Так что — приступим!
Создайте с помощью редактора новый сайт и в качестве директории для него используйте директорию с темой вашего сайта. Это и будет директория, куда вы будете собирать необходимые для вашей темы файлы. Далее, по порядку:
- Убедитесь, что название вашей папки для темы называется так же, как и ваш .info-файл.
- Поместите созданный .info-файл в папку.
- Откройте .info-файл и посмотрите какие скрипты и стили объявлены в вашей теме.
- Создайте пустые файлы стилей и скриптов внутри паки. Позже вы заполните их кодом.
- Загрузите и распакуйте Drupal 6 и зайдите в папку /themes. Вам нужно скопировать в вашу директорию следующие файлы ядра или базовой темы, для того чтобы не делать шаблон с чистого листа:
- page.tpl.php: Этот файл должен содержать основные теги разметки: <html>,<head> , и <body>, а также размеченные <div> регионы перечисленные в .info-файле. Этот шаблон может быт найден в папке modules/system, или в паке основной темы themes/garland.
- node.tpl.php: Определяет рендеринг содержимого нодов (node), которые являются страницами материалов в Drupal. Это шаблон может быть найден как в папке modules/node, так и в папке базовой темы themes/garland.
- block.tpl.php: Шаблон для блоков, которые чаще всего появляются в сайдбаре. Этот шаблон может быт найден в папке modules/system, или в паке основной темы themes/garland. Скопированные файлы вы можете править на свое усмотрение. Главное не изменяйте имена этих файлов. Далее создайте свои CSS стили для разметки. Экспериментируйте и наслаждайтесь.
В процессе работы следует передерживаться нескольких правил:
- Во-первых, для административной части сайта всегда лучше использовать тему из базовой сборки. Это исключит проблемы с работой админки с произвольными темами. В панели управления Drupal выберите «Administration theme» и установите Garland, далее нажмите «Save configuration». Теперь вы можете смело добавлять кастомные темы не опасаясь проблем с управлением сайтом.
- В папке /sites/all добавте новые директории с названиями /modules и /themes. Для того чтобы разделить ваши собственные модули и модули, которые вы загружаете с сайтов сообщества стоит в директории sites/all/modules создать две папки с названиями custom (ваши) и contrib (сообщества). Для тем не требуется делать подобное разделение.
Скопируйте папку с вашей темой в sites/all/themes и Drupal должен будет распознать ее на странице управления темами — Themes administration page.
Каждый шаблон начинает работать с загрузки базового файла
page.tpl.php, потом подгружается
node.tpl.php для каждой единицы контента, и конечно-же,
block.tpl.php для блоков, как, например, форма логина, поиск, и так далее. Каждый шаблон в свою очередь содержит ряд PHP переменных, которые и отвечают за вывод контента (например, $title используется для вывода заголовков нодов (материалов) и блоков). Более подробно о темах можно почитать в
Drupal 6 Theme Handbook. Посмотрите на Рисунок 6, чтобы понять где вставляется каждый шаблон при сборке страницы.
Внимание! Никогда не делайте изменения в файлах ядра Drupal!
![](http://www.master-web.info/wp-content/uploads/2009/07/fig06.jpg)
Помните, что шаблон
page.tpl.php не содержит в <head> части тегов <style> или<script>. Друпал автоматически генерирует ссылки на эти файлы в следующем порядке: сначала ссылка <link> на CSS, потом JavaScript с помощью тега <script>. Стили могут быть созданы как в одном так и нескольких внешних файлах. Но помните что большое количество фалов стилей и скриптов негативно сказывается на времени загрузки страницы. Для того чтобы хоть как-то помочь в этой ситуации, Drupal 6 имеет стандартную опцию сжатия CSS и JavaScript, для ускорения загрузки страницы.
Установка новых тем Drupal
После того, как вы создали все необходимы изменения в вашей теме, запустите Drupal для установки вашей темы.
Как уже говорилось раньше, базовый набор файлов в вашей теме должен состоять и трех шаблонов, info-файла а также стилей и скриптов.
Отправляйтесь в корневую директорию вашего Drupal 6 и откройте паку /sites. В этой директории вы можете создать произвольное количество директорий для разных доменов, это одно из замечательных свойств Drupal — создание нескольких сайтов на одном ядре. Именно в паку /sites вы можете добавлять ваши модули и темы.
Следуйте инструкциям ниже для того, чтобы приготовить Drupal для установки кастомных модулей и тем:
Запомните! Нельзя устанавливать собственные темы и модули в папки ядра Drupal!
После всех проделанных операций, посетите страницу администрирования вашего Drupal и войдите в раздел управления темами. Рисунок 7 показывает стандартный вид панели управления темами, на этой странице вы должны будете увидеть вашу тему в списке всех тем. Если вы не видите вашу тему, возможно ее нет в нужной директории (drupal/sites/all/themes), или же вы забили включить .info-файл в папку темы, или же названия файла и папки отличаются.
Примените новую тему и посмотрите как она работает на всех страницах вашего сайта. Если видны какие либо проблемы то вновь просмотри все файлы вашей темы в редакторе.
При внесении изменений в тему следите за кешем сайта, поскольку изменения могут не появится сразу с включенным кешем. Для того чтобы быстро очистить кеш тем, достаточно просто зайти на страницу администрирования тем, при этом кеш автоматически очищается, предоставляя Drupal возможность для установки новых тем.
![](http://www.master-web.info/wp-content/uploads/2009/07/fig07-300x234.jpg)
Автор статьи
Chris Charlton, в следующем материале пообещал рассказать о том как создавать темы для Drupal на основе своеобразного темплайт-кита Zen