Drupal 7 не просто одна из популярнейших CMS в мире, это CMF, предоставляющая неограниченное количество возможностей для разработчиков, что стало не самым малым фактором в распространенности данной платформы.
Одной из особенностей Drupal, которая позволила завоевать подобное положение в мире стала возможность расширять функционал ядра в зависимости от любой Вашей прихоти.
Модули
Модули и стали одной из основных возможностей по расширению функционала Drupal. Если говорить о ядре, то его можно сравнить с кузовом машины, всю остальную начинку мы или пишем сами или просто собираем при помощи модулей.
Чтобы Вы понимали размах потенциала для расширения системы, скажу лишь то, что количество модулей для Drupal 7 включает в себя десятки тысяч. Потому могу сказать лишь одно, после появления свежей идеи по улучшению сайта, не торопитесь писать модуль самостоятельно, сначала проверьте не написал ли его уже кто-то ранее за вас.
Почитать подробно о том как устанавливать и удалять модули, а так же где их в принципе можно достать можно в соответствующей статье курса.
На данном же этапе Вам достаточно просто знать что модули в Drupal используются для расширения и изменения функционала ядра сайта под свои нужды.
Располагаются модули с которыми мы работаем в папке sites/all/modules, папку же modules в корне сайта трогать не стоит, чтобы избежать сбоев в работе друпала.
Темы оформления
За внешний вид сайта отвечают темы оформления. Сам процесс изменения внешнего вида сайта под свои потребности называется темизацией сайта.
Любопытной особенностью является то, что в Drupal 7 разделено оформление обычных страниц сайта и административных. Так, мы можем проивольно менять оформление сайта не переживая о том, что нам еще придется поработать с страницами видимыми администратору. Подробнее мы это рассмотрим в соответствующих уроках курса.
В случаях работы с сайтами у которых нет регистрации пользователей это крайне удобно. При регистрации же пользователей и наличии ряда ролей с разными полномочиями мы всегда можем настроить что и для кого на сайте видно в правах доступа пользователей.
Работать следует с темами располагающимися в директории sites/all/themes. Как и с модулями мы можем как использовать в работе уже созданные кем либо темы скачанные с официального сайта, так и создавать свои под конкретные проекты. Второй подход предпочтительнее, но требует достаточного багажа знаний по темизации Drupal.
Хоть и стоит отметить, что тут ситуация проще чем с модулями. Тут вполне хватит знания HTML с CSS в сочетанием с парой особенностей друпала. В то время как для модулей нужно понимать как принципы работы системы в целом, так и свободно владеть PHP.
Версии модулей и тем
Попробовав скачать модуль или тему мы увидим следующую картину:
С первого взгляда все может показаться достаточно запутанно, но это только с первого взгляда.
Так, цифры в названии релиза означают версию под которую заточен данный модуль или тема.
В дате указано когда данный релиз был создан, а в загрузках нам предлагают выбрать подходящий нам вариант архива tar.gz или zip.
Единственное что может быть не понятно сразу это версии модуля или темы подсвеченные зеленоватым, желтоватым или красноватым цветом, хотя и тут все крайне логично:
- Recommended releases- подсвечены зеленоватым цветом. Говорит о том, что модуль или тема уже проверены и отлажены разработчиками, найдены ошибки пофиксены и в целом эту версию стоит устанавливать на сайт, поскольку она достаточно стабильна.
- Other releases- уже не сырая версия модуля, но еще не прошедшая все необходимые стадии проверки на стабильность работы. Можно утанавливать, но если что-то пойдет не так, что считайте, что Вас предупреждали.
- Development releases- название и цвет говорят сами за себя. Этот модуль или тема в данный момент находятся в разработке. Еще полноценно не проверены и могут содержать ошибки. Новичкам с ними работать не рекомендуется.
Подводя итоги
За функционал сайта отвечают модули, за внешний вид- темы оформления. Грамотно их сочетая мы можем получить абсолютно любой сайт отвечающий самым изысканным требованиям.
Стоит учитывать, что во многом гибкость системы в Ваших руках во многом зависит от Вашего уровня знания Drupal. Так, выкручивая сайт модулями можно сказать что Вы работаете с глыбами камня, работая же с Drupal Api вы работаете с песком.