На кануне выхода седьмой версии CMF Drupal (релиз назначен на 5 января), я хотел бы более подробно рассказать читателям блога о нововведениях, которые коснутся тем для Drupal7. В предыдущем посте я обзорно рассматривал базовые отличия тем шестой и седьмой версий, опираясь на информацию заокеанского колеги, а сейчас хотелось бы привести детальный список нововведений, который. кстати, представлен в материале Converting 6.x themes to 7.x с детальными описаниями каждого пункта. В своем же блоге я переведу лишь определения этого списка, поскольку и сами по себе они довольно информативны.
- Блоки теперь имеют новые, более содержательные CSS идентификаторы
- Первичные и вторичные ссылки ($primary_links и $secondary_links) переопределены в главное и вспомогательное меню ($main_menu и $secondary_menu)
- Не отформатированные ссылки таксономии больше не доступны в качестве отдельных переменных в node.tpl.php файлы, теперь термины таксономии вызываются в теле объекта ноды и в тему вставляются только через $terms.
- RDFa требует некоторых изменений в начале html.tpl.php
- Класса для очистки плавающих блоков был переименован в сlearfix
- box.tpl.php шаблон удален
- Переменная $help преобразована в область
- Удалена область «Миссия», добавлен регион «Highlighted»
- Переменной $footer_message больше нет
- Регион content теперь является обязательным, основное содержание страницы стало блоком
- Добавлена вторая фаза процесса переменных функции, теперь после обработки preprocess можно задействовать вторую фаза process
- HTML-классы, теперь генерируются с помощью переменной
- HTML атрибуты теперь вызываются через переменную
- Переменные функции процесса, теперь могут быть использованы в хуках на всех уровнях темизации
- Все функции темы, теперь имеют только один аргумент $variables
- Имена функций должны совпадать с названием темы
- Все CSS и JavaScript файлы должны быть указаны в .info файле темы
- В block.tpl.php переименован $block->content в $content
- Раздельный рендеринг в шаблонах узла и пользователей
- По умолчанию используется JQuery UI (1.8)
- Возможность прикрепить отдельные JS / CSS для элементов в процессе drupal_render
- $closure становится $page_bottom, добавлены $page_top и скрытые регионы
- Переменные $left и $right теперь переименованы в $sidebar_first и $sidebar_second, соответственно; CSS идентификаторы также изменились
- $picture изменяется в $user_picture, и CSS класс «picture» «user-picture» соответственно
- Доступны новые CSS классы, чтобы скрыть содержание (.element-hidden и .element-invisible)
- JavaScript переменная Drupal.jsEnabled была удалена
- Реализованная подстановка в именах переопределяемых шаблонов PHPTemplate – это круто (!)
- Включено явное указание элемента темы при использовании system_elements()
- Добавлено разметки, чтобы задачи прогресса установки были заметны для устройств считывания с экрана, но отключены с помощью CSS
- Добавлен невидимый заголовок theme_breadcrumb().
- Изменены атрибуты alt и title для значка RSS ленты
- Поле поиска наконец-то стало блоком
- Изменения в рендеринге дерева меню и табов
- Для theme_links () появился новый параметр $heading для большей доступности
- theme_get_setting() и THEME_settings() были улучшены
- Добавлена функция theme_form_required_marker()
- Добавлена функция theme_link()
- Ссылка для перехода к основному содержанию добавлена в базовую тему
- Alter хуки доступны в темах
- CSS стили модуля system были реорганизованы чтобы разделить презентационные стили и стили поведения
- Добавлена новая опция темы для отображения ярлыков модулей в виде ссылки «Добавить ярлык»
- Для переопределения разметки в именах шаблонов в качестве разделителя будет использоваться «—» вместо «-»
- CSS файлы иногда загружаются импортом @, иногда через ссылку
- CSS файлы для определенных браузеров могут и должны быть добавлены с помощью drupal_add_css ()
- Целевые переопределения доступны для theme_menu_link() и theme_menu_tree()
- Функция theme_submenu() была удалена
- Добавленные новые переменные шаблона $title_prefix и $title_suffix
- Функция theme_node_form() была удалена
- Функция node_get_types() переименована в node_type_get_types()
- Основные темы теперь должны содержать » package = Core » в .info файле
- Заголовки результатов поиска в шаблоне search-result.tpl.php теперь выводятся в формате «h3»
- Атрибут «name» в тегах «a» и «map» недействителен
- PHPTemplate теперь используется в качестве движка шаблонов по умолчанию