CMS Drupal каждый день становится все более популярной. Начал разработку Друпала в 2000 году бельгиец Дрис Байтаерт (Dries Buytaert), он и поныне является руководителем проекта. При первом знакомстве эта система не вызывает бурных эмоций, хотя позитивных дает немало. Базовая комплектация позволяет за 5-10 минут создать от простейшего сайта-визитки до полноценного портала с форумом, блогом, голосованиями, подборкой в книги, новостями, статьями, импортом/экспортом RSS, системой поиска, статистикой, группами пользователей, многоязычностью и многим другим. Но после более подробного знакомства с системой оказывается, что все это только вершина айсберга. На следующем шаге знакомства появляется таксономия, именно эта технология в наибольшей мере показывает мощность системы Друпал.
Таксономия – это набор словарей и терминов для отделения структуры от представления. Рассмотрим пример. Пусть есть следующая задача: на сайте необходимо создать новости из мира спорта (помимо основных новостей). Появляется новый раздел: СПОРТ. Теперь, так как есть много разных видов спорта, нужно соответственно разделить новости для удобства чтения. Выделим несколько ключевых видов спорта: футбол, автоспорт, силовые единоборства – получим 3 рубрики.
Все выше сказанное можно проделать на Друпале с помощью технологии таксономии. Создаются термины «футбол», «автоспорт», «силовые единоборства» и объединяются в один словарь «Спорт». Теперь во время создания любой новости, необходимо будет указывать к какому виду спорта она принадлежит, а читатель сайта, сможет выбирать из базы данных все новости, относящиеся к интересующему его термину.
Таксономия – очень гибкая система, количество словарей может быть огромным, термины могут организовывать иерархию. Любой материал сайта, будь то статья или новость, может быть связана с несколькими терминами, как с одного словаря, так и с нескольких. Если рассматривать дальше пример с новостями спорта, то можно создать еще один словарь с марками автоконцернов: {«БМВ», «Мерседес», «ВАЗ»}. При создании новости из мира автоспорта можно будет указывать, к какой марке относится новость. В результате получатся еще и новости производителей автотехники. На сайте будет размещена ссылка на «Автоспорт» и ссылка на автоконцерны. После выбора пользователем одной из них Друпал сам выберет нужные новости по термину.
Примеры использования таксономии:
Меню сайта с разделами и подразделами
Рубрики сайта
Журнал и классификация статей по: номерам журнала, рубрике/рубрикам
Фотогалерея с разделением фотографий по теме, местоположению
Облако тегов
Форум - не что иное как таксономия. Сам форум - это словарь, разделы и подразделы - термины словаря.
Кратко все возможности таксономии описать нереально, но начальное представление о ней дано, на данном этапе этого более чем достаточно.
Разумеется, Друпал популярен не только из-за таксономии, есть еще модули, которые позволяют расширять далеко не бедный функционал этой CMS.
Современные сайты предоставляют далеко не только возможность просто чтения новостей, и Друпал стоит на гребне этой волны. Выбор модулей измеряется тысячами, но главное преимущество в простоте их использования. Установка модуля заключается в скачивании архива и распаковке в нужную папку, после чего модуль активируется в админке и готов к использованию. Перечисление всех модулей займет слишком много страниц и времени, так как их около 7000, а перечисление части может привести к жаркому спору, так как у каждого Друпаллера есть свои любимые, поэтому ограничимся общими словами о пользе модулей Друпала. Модули предназначены для расширения функционала сайта. С помощью модулей можно сделать подписку на новинки, фотогалереи, рейтинги, облако тегов, подключить разные виды редакторов, файловый архив, группы по интересам, антиспам защиты, разнообразные карты сайты и многое другое.
Друпал предоставляет также большой набор готовых тем. Чтобы сменить вид сайта, достаточно скачать одну из них, распаковать и включить, после чего сайт мгновенно приобретает лицо. Количество бесплатных тем достаточно велико и, как и в случае с модулями, все делается в пару кликов мышкой.
Как и любая система, Друпал имеет свои плюсы и свои минусы, а также спорные моменты. Например, Друпал рассчитан на продвинутого пользователя или начинающего программиста. С одной стороны, имеется мастер установки, который не вызовет трудностей даже у начинающих, логичная админка с управлением одними «галочками», а с другой стороны, если делать проект средней сложности, то без РНР и чтения мануалов не обойтись, если важен результат. Часть пользователей недовольна тем, что знание РНР необходимо, а часть считает это барьером от «ламеров» и говорит, что это плюс. В любом случае, есть огромное количество документации на разных языках, поэтому тот, кто подходит к вопросу ответственно, получает хороший результат.
Следующий недостаток заключается в потреблении большого количества ресурсов. Конечно, если создать сайт-визитку на 10 страниц, Друпал будет потреблять намного больше ресурсов, чем HTML+CSS. Хоть часть функционала и отключена, но все же это будет многоязычная система с хорошей системой безопасности, с поиском и статистикой и кучей функционала в самом ядре. Поэтому часть пользователей считает это недостатком, а часть – вполне оправданной платой за функционал. В конце концов, иногда лишняя планка памяти стоит намного дешевле, чем оплата труда программиста, поэтому к экономии ресурсов нужно подходить с умом и оптимизировать только то, что нуждается в оптимизации, а не бороться за каждый байт памяти.
Но все вышесказанное – лишь капля из того, что умеет Друпал, просто рассказать обо всем в одной-двух статьях невозможно. Об этом продукте уже вышло немало книг, и все равно до конца он еще не раскрыт. Здесь рассказано только о тех возможностях, которые управляются из админки, но ни слова не сказано об использовании Друпала программистами, так как это совсем другая история в нескольких частях (чего только стоит наличие нескольких API в одном ядре).
Перефразируя известное высказывание, резюмирую: чем больше работаешь с Друпалом, тем больше понимаешь, как мало ты о нем знаешь!