Создание темы Drupal из HTML файлов

Матеріал з Wiki.Zina
Перейти до навігації Перейти до пошуку

Как быстро сделать из HTML/CSS файлов тему Drupal.

Минимальный набор файлов темы 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']); ?>

Переменные page.tpl.php

[ред. | ред. код]
$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) и перетащить в регионы нужные блоки с содержимым страницы, меню, или создать новые блоки.