Слайд 2Нирвана – близка ли она?
Нирвана темизации наступит, когда дизайнерам будет легко
делать новые темы, а простым пользователям будет что выбрать из большого количества тем.
Слайд 3Drupal 4.5: Ад
Существовали лишь файлы .theme и можно было переопределять функции
тем.
Слайд 4Drupal 4.6: Чистилище
Xtemplate, увы, не помог.
Слайд 5Drupal 4.7: Лимб
С PHPtemplate стало заметно лучше, но шаблоны были лишь для
узла, блока и комментария. Этого явно не хватало.
Слайд 6Drupal 5: Всё ещё Лимб
Вообще-то уже не совсем Лимб. Но ковыряться было
неудобно.
Слайд 7Drupal 6
• Файлы .info сделали сложные вещи очевидными
• Доступно 287 тем (май 2009) и
их становится всё больше!
• Серьёзные шаги к разделению логики и представления
• Улучшеные _phptemplate_variables()
• Наследование тем
• Темы на чистом CSS, без использования tpl.php
• Все эти радости доступны и в движках тем.
Слайд 9Больше шаблонов
Чётче контроль над контентом.
Логика отделена от представления.
Данные уже очищены от лишнего,
меньше вероятность непредумышленых дыр в безопасности.
Слайд 16Наследование темы
Для подтемы устанавливается базовая тема в файле .info
Дочерняя тема автоматически получает
все таблицы стилей базовой темы
Дочерняя тема автоматически получает все шаблоны базовой темы
Дочерняя тема автоматически получает все функции, содержащиеся в template.php базовой темы
В дочерней теме нельзя использовать функции phptemplate_*
Это самый простой способ «подстроить» тему и иметь возможность обновлять её
Слайд 17Темы на CSS
Родной page.tpl.php базируется на теме Zen
Хорошо подобраные названия классов для
определения областей
С темой, состоящей лишь из файла .info сайт получится страшненькии, но с чистым XHTML, который можно раскрасить CSS-ом
Слайд 18Движки
Smarty, PHPTal, LOLTheme
Можно регистрировать как расширение - .smarty
Можно регистрировать как рендерер –
smarty_template_render()
Определение шаблонов от имени темы
Загрузка файла template.php от имени темы
Слайд 19Близка ли нирвана темизации?
Ещё не всё у нас в шаблонах
Неполный набор интуитивно
именованых классов
Недостаточно регламентированы методы генерации HTML-кода в модулях сторонних разработчиков
Недостаточно регламентировано создание тем сторонними разработчиками
Неудобный поиск тем на сайте drupal.org
Слайд 20Мы уже почти достигли просветлия
Дождёмся ли НИРВАНЫ в Drupal 7 ?