Вход в систему



Студия lynxlab

Тема Active nRebuild

 

Создать собственную полноценную тему под CMS/CMF Drupal довольно непросто. В качестве начальной заготовки (базы) обычно берут либо совсем уж простую тему и реализуют только фронтенд-часть веб-проекта (при этом в административном режиме в таких случаях используют как правило тему Гарланд), либо пытаются переделать Гарланд (или схожую полнофункциональную тему). Однако все такие «переделки» как правило «рождают» темы с не совсем адекватным поведением (блочная верстка Гарланда и непонятная смесь каскадных стилей из разных модулей делает все попытки переопределения малоэффективными).

В помощь темизаторам была разработан тема-прототип Active nRebuild (от garlaNd Rebuild). Тема является полной переработкой Гарланда. Тему можно использовать в качестве базы при создании новых тем. Также ее можно использовать, как пример темизации логин-блока или блока поиска.

В вкратце об особенностях темы:

  1. использовалась табличная-блочная верстка (переход на блочную верстке легко осуществим);
  2. «чистая верстка» – все стили упорядочены и расположены в нескольких файлах;
  3. отсутствие css-хаков (либо предельно малое их количество);
  4. процедура темизации логин-блока и блока поиска максимально упрощена;
  5. было добавлено множество полезных классов (для материалов, комментариев, блоков, меню, списка ссылок, таблиц и т.д.)
  6. были добавлены разделители между элементами (между блоками, ссылками и т.д.)
  7. был переработан Collapsible fieldset

P.S. Для работы в реальных условиях в теме 6-ой версии (файл template.php) необходимо закомментировать вызов «drupal_rebuild_theme_registry()».

Основа

Ранее уже было сказано, что Active nRebuild является полной переработкой темы Garland. Почему же Гарланд? Гарланд – это одна из базовых тем CMS/CMF Drupal. Она входит в состав дистрибутива Drupal, что в свою очередь гарантирует появление ее в последующих версиях этой системы. На основе Гарланда было создано множество сторонних тем, но самым весомым аргументом в пользу Гарланда является пожалуй факт того, что именно на нее ориентируются большинство веб-разработчиков, работающих с Drupal – в стандартный дистрибутив Drupal входят и другие темы, однако их функционал заметно уступает полнофункциональной теме Гарланд, именно поэтому Гарланд и выходит «на передний план» в веб-разработках.

Область применения

Тема Active nRebuild предназначена исключительно для интеграции (темизации) веб-проектов, простые пользователи не найдут в ней для себя ничего интересного. Основная задача темы Active nRebuild – упростить процесс создания собственных тем, или как-то поспособствовать этому упрощению.

Пример использования

В каких ситуациях тема может оказаться полезной? В качестве примера можно взять пример темизации логин-блока. Каким способом его обычно темизируют? Html-кодер, используя стили (css), производит оформление и позиционирование элементов формы логин-блока, после чего форма начинает более менее соответствовать дизайн-макету (элементы label убираются стилями и т.д.). Либо, в крайнем случае (этот крайний случай встречается довольно часто), разработчики встраивают в шаблон «срез» формы в виде чистого html-кода (примеры этого имеются даже на drupal.org). Как правило этим все и заканчивается. В итоге, в первом случае получается «деревянные» элементы со множеством хаков (исключений для разных браузеров), во втором же случае результатом становиться полностью «деревянная» форма. Более «интересный» подход переопределения логин-формы и блока (выполненный в рамках drupal-api) можно позаимствовать прямо из этой темы.

Вторым примером может стать меню. В реальной практике довольно часто встречаются сложные меню, в которых каждый подуровень оформлен заданным образом. Используя стили, разработчик может описать 2-3 подуровня, но не более того – более «глубокое» оформление становиться невыполнимой задачей в связи с проблемой перекрытия в каскадных стилях. Однако в теме Active nRebuild эта проблема была решена 3 небольшими функциями. Эти функции также можно позаимствовать в своих разработках.

Третьим примером могут стать таблицы. У разработчиков довольно часто возникает необходимость оформить колонку n в заданной таблице, однако сделать последнее адекватным способом (без каких либо «ухищрений) не всегда получается – по умолчанию Drupal не предоставляет какого либо способа выполнить такие действия. В Active nRebuild уже встроена возможность работы с любой колонкой (.tc-1, .tc-2 ... .tc-n) в любых областях (thead или tbody).

Схожие решения

Также существуют и альтернативные решения – это Zen и Clear. Эти темы позиционируются именно как темы для разработки новых тем. Однако все они повторяют недоработку Гарланда – в «их основе» (коде) все абсолютно «перемешано» – порядок как таковой отсутствует. В Active nRebuild главной задачей стала задача упорядочивания: в теме были объединены и нормализованны каскадные стили (был выстроен четкий порядок css-директив), были однозначно определены и описаны классы элементов (никакой двойственности, и непредсказуемого перекрытия). В этом можно легко убедиться самостоятельно, достаточно открыть файл стилей (nx-style.css). Все максимально упрощено – найти в стилях описание таблиц, или скажем ссылок очень просто. Порядок – это залог качественной и продуктивной работы. Как бы не позиционировались темы Zen и Clear, но «уличить» их в удобстве использования вряд ли возможно...

Еще одним отличием Active nRebuild от Zen и Clear является минималистский дизайн – в отличие от упомянутых тем, Active nRebuild – это не пустой «белый лист» – это минимально оформленная тема, поэтому в своем большинстве здесь достаточно поменять изображения и подкорректировать несколько css-директив, что бы получить, к примеру, блок поиска соответствующий дизайн-макету. Используя же темы Zen или Clear, разработчик затратит на аналогичную операцию больше времени. В данном случае, тема Active nRebuild – это не только подсказка того, «как можно сделать иначе», но также это и «повод для сравнения» с чем-то уже ранее созданным.

Пожелания

Тема Active nRebuild не претендует ни на какие позиции, она лишь дополняет пока еще скромный набор узкоспециализированных тем. Автор выражает надежду, что тема-каркас Active nRebuild поможет сделать что-то лучше и проще и возможно подтолкнет разработчиков на последующие, еще более интересные решения.

Ссылки:


Тема Active nRebuild на Drupal.org
Скриншот Active nRebuild

Прикрепленный файлРазмер
nrebuild-cover-for_bz.png2.46 кб
 


Рейтинг@Mail.ru Rambler's Top100