Создание темы Drupal из HTML файлов
Как быстро сделать из HTML/CSS файлов тему Drupal.
Предположим, у нас есть дизайн, отверстанный в виде файла mydesign.html, файла style.css и нескольких картинок в папке img. Сделаем из этого набора файлов тему Drupal под названием mydesign.
1. Создать папку с именем темы:
sites/all/themes/mydesign
2. Положить в эту папку три файла:
- mydesign.info
- page.tpl.php — это переименованный файл mydesign.html
- style.css — может называться как угодно, потому что настраивается в файле .info
3. В файле mydesign.info прописать:
name = My Design description = Моя тема для Drupal stylesheets[all][] = style.css
4. Очистить кэш Drupal (drush cc all), зайти в список тем (/admin/appearance) и «Включить и установить по умолчанию» тему «My Design».
Чтобы не поломалась админка, внизу этой же страницы выбрать одну из стандартных тем для «Тема оформления административных страниц».
5. Теперь в page.tpl.php вставить куски PHP-кода, которые будут выводить заголовок страницы, слоган, логотип, содержимое страницы, кнопки редактирования и т.п.
Эти куски можно вставлять или напрямую, или в виде регионов.
Пример переменной:
<title><?php print $title; ?></title>
Пример региона:
<?php print render($page['header']); ?>
| $site_name | Название сайта |
| $site_slogan | Слоган |
| $logo | Логотип |
| $title | Заголовок страницы |
| $site_slogan | Слоган |
| $breadcrumb | Хлебные крошки |
| $is_front | Возвращает TRUE, если текущая страница является главной |
| $logged_in | Возвращает TRUE, если пользователь зарегистрирован и вошел на сайт |
| $is_admin | Возвращает TRUE, если текущий пользователь является админом |
Переменные вставлять в page.tpl.php так:
<?php print $title; ?>
Панель с вкладками (табами) "Просмотр" и "Правка":
<?php print render($tabs); ?>
Если главная страница:
<?php if ($is_front): ?> <p>Этот текст будет показан только на главной странице.</p> <?php endif; ?>
1. Определить регионы в mydesign.info (просто добавить строки с именами новых регионов):
regions[header] = Шапка сайта regions[addres] = Адрес в шапке regions[header_menu] = Меню в шапке regions[left] = Левая колонка regions[content] = Основное содержимое
2. Вставить регионы в page.tpl.php, например:
<?php print render($page['header']); ?> <?php print render($page['addres']); ?> <?php print render($page['header_menu']); ?> <?php print render($page['left']); ?> <?php print render($page['content']); ?>
3. Теперь очистить кэш:
drush cc all
4. Перейти в админке в "Блоки" (admin/structure/block) и перетащить в регионы нужные блоки с содержимым страницы, меню, или создать новые блоки.