Drupal русскоязычное сообщество

Дизайн и работа с шаблонами (темами)

На Drupal настраивается внешний вид не только пользовательской части, но и административной панели. Это ещё один небольшой штрих, демонстрирующий гибкость системы. Особенно полезно это для опытных разработчиков, которые настраивают движок под себя во всех аспектах.

После установки Drupal пользователю доступно несколько стандартных шаблонов. Можно выбрать один из представленных вариантов и отредактировать его или сразу перейти в каталог на официальном сайте движка. В нём представлено больше 2000 тем — есть шаблоны, которые не имеют даже адаптивного дизайна, но встречаются и вполне современные варианты. Естественно, выбирать нужно адаптивные шаблоны, чтобы сайтом было удобно пользоваться с разных устройств, а не только на десктопе.

Главное неудобство — невозможность установить понравившуюся тему прямо из административной панели, как это делается на WordPress. Чтобы добавить на движок новый шаблон, необходимо сначала скачать его на компьютер в виде архива, а затем загрузить на сервер с сайтом через раздел Appearance. Загруженная тема станет доступной в общем списке установленных шаблонов — осталось только выбрать её и активировать.

Какую бы привлекательную тему вы ни выбрали, её нужно будет довести до ума: добавить/удалить виджеты, настроить меню, выбрать цветовую схему, создать логотип и т.д. Для выполнения этих работа на Drupal есть два основных инструмента:

  • Block Layout — визуальный редактор, в котором внешний вид сайта настраивается так же, как на онлайн конструкторах (типа uKit, Wix и др.), то есть перетаскиванием готовых элементов.
  • Theme Settings — параметры шаблона, с помощью которых меняется цветовая схема, указываются параметры демонстрации изображений, задаётся логотип и фавикон.

Если среди бесплатных шаблонов нет подходящего варианта, или настроить тему так, как нужно, не получается, можно приобрести подходящую тему в магазине шаблонов Templatemonster. Благо, Drupal достаточно распространённая система для того, чтобы с поиском специалистов не возникло проблем.

Загрузка и распаковка дистрибутива с CMS Drupal

Теперь необходимо загрузить сам дистрибутив CMS Drupal. В данной статье рассматривается установка Drupal 7, хотя уже давно вышла 8-я версия этой CMS. Ход установки и в той и в другой версии ничем не отличается. Разве что для Drupal 8 необходимо больше дополнительных расширений PHP, таких как например php-opcache.

Загрузить дистрибутив Drupal можно при помощи утилиты wget по официальному адресу проекта:

$ wget https://ftp.drupal.org/files/projects/drupal-7.64.tar.gz

Предполагается, что пользователь находится в своём домашнем каталоге, поэтому загруженный архив будет сохранён в соответствующем месте, т. е. в ~/.

Далее необходимо распаковать скачанный архив в каталог с . Здесь также предполагается, что Apache сконфигурирован таким образом, что каталогом его виртуальных хостов является каталог /home и все его подкаталоги, что очень удобно. Ведь в таком случае любой пользователь может создавать и размещать свои веб-приложения, при этом лишь запрашивая лишь помощь в настройке виртуальных хостов у администратора. В дальнейшем установка Drupal будет рассматриваться для виртуального хоста site-drupal в каталоге /home/john/htdocs/drupal-site/. Естественно, можно проводить установку и в каталог /var/www/html/, который является каталогом виртуальных хостов, сконфигурированном по-умолчанию для Apache, однако ход установки от этого принципиально не меняется. Распаковка архива с Drupal:

$ tar -xvf drupal-7.64.tar.gz -C ~/htdocs
$ ls ~/htdocs
drupal-7.64

Поскольку было оговорено, что каталог с Drupal будет иметь имя drupal-site, то следует переименовать drupal-7.64:

$ mv ~/htdocs/drupal-7.64 ~/htdocs/drupal-site

На этом подготовка каталога виртуального хоста drupal-site для Drupal завершена. Следующий этап — подготовка базы данных (БД) для будущего сайта на Drupal.

Плюсы и минусы

Главное достоинство Drupal было озвучено неоднократно — это гибкость, позволяющая отстроить системы под свои нужды. В базовой комплектации движок предоставляет только минимальный набор возможностей, но с помощью расширений и умелых рук он превращается в универсальную машину по запуску проектов разного уровня сложности. Среди других плюсов:

  • Стабильная работа ядра.
  • Открытый код, благодаря которому вокруг движка сформировалось продвинутое пользовательское комьюнити.
  • Высокий уровень защищённости.
  • Ускоренная работа за счёт собственной системы кэширования.
  • Большая база бесплатных дополнительных материалов: тем и расширений.

Создание модулей на Drupal доступно любому пользователю, но в каталог они попадают лишь после проверки. Поэтому если вы будете пользоваться проверенными источниками, то не столкнётесь с проблемами из-за вредоносных или просто плохо защищённых модулей.

Ещё один плюс, которому нужно уделить особое внимание — система поддержки, которую организовали пользователи Drupal. Для начинающих движок сложен в освоении, поэтому при его изучении постоянно приходится искать ответы на возникающие вопросы

Большинство стандартных проблем давно разобраны на форумах пользователей Drupal, но если вы столкнулись с какой-то новой ошибкой, то сообщество совместными усилиями поможет её устранить.

Недостатки у системы тоже есть — и они очевидны. Начинающим вебмастерам будет сложно сходу погрузиться в создание сайта — сначала придётся потратить время на изучение движка и чтение форумов. После того же WordPress процесс обучения может показаться крайне сложным, но это не так — просто нужно больше времени, чтобы понять, как всё организовано.

Если продолжать сравнение с WordPress, то на Drupal заметно меньше бесплатных шаблонов и модулей. Всё самое лучшее распространяется по платной лицензии. На других бесплатных CMS ситуация аналогичная, но количество бесплатных предложений позволяет закрывать глаза на этот недостаток.

Ещё один минус носит технический характер и сказывается на стоимости сайта. Drupal часто обращается к базе данных, поэтому для поддержания проекта в работоспособном состоянии необходимо покупать более дорогой хостинг, чем для других бесплатных CMS.

Расширения

Расширения (модули) – это различные инструменты, из которых как раз таки состоит функционал CMS-системы. Часто их также называют расширениями. Такие надстройки создают сами разработчики системы, сторонние программисты, в том числе, создатели CRM, онлайн-чатов и других программных решений, для которых может быть полезна интеграция с веб-сайтом.

Система Drupal 9 поддерживает огромное количество модулей. Значительная часть из них уже установлена «в коробке». Остается только решить, что с ними сделать – включить и применять, отложить до лучших времен или удалить. Другие вы можете найти на сайтах, посвященных CMS Drupal, скачать и установить.

Важное преимущество – все модули Drupal бесплатны, при этом после установки вы будете получать в системе уведомления об обновлении, что позволит своевременно актуализировать версию любого расширения. Из числа расширений хотелось бы выделить:

Из числа расширений хотелось бы выделить:

Drupal 8 + Varnish: Кешируем HTML правильно

Tutorial

Drupal 8 – это самый свежий релиз CMS Drupal. Varnish – это HTTP reverse proxy cache, надстройка над вебприложением, которая позволяет кешировать HTTP ответы в ОЗУ сервера.
Когда мы ставим Varnish перед Drupal’ом (либо любым другим вебприложением), схема обработки входящего HTTP запроса трансформируется следующим образом.
Еще во времена Drupal 6 и 7 с помощью Varnish’а было очень удобно кешировать статические ресурсы (рисунки, CSS, JavaScript файлы). Но были пробемы с кешированием HTML страниц – не существовало удобного механизма выборочной инвалидации кеша. Оставалось только либо сознательно отдавать устаревший кеш, либо полностью очищать кеш в Varnish при каких-либо изменениях в Drupal. Оба подхода имели свои недостатки.

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

Пользователи (People) с точки зрения системы Drupal – это все посетители вашего сайта, начиная от случайных читателей и заканчивая редакторами и администраторами.

Работать с этим разделом просто:

В меню Роли (Roles) вы создаете все необходимые виды пользователей. Количество ролей может быть столько, сколько вам нужно. Обычно это:

  1. «анонимный», т.е. посетитель без регистрации,
  2. «зарегистрированный», т.е. пользователь с авторизацией, но без доступа к административному разделу;
  3. «автор» или «контент-менеджер» — человек, который может добавлять материалы в выбранные вами разделы;
  4. «администратор» — полные права доступа и т.д.
  5. В меню «Права доступа» для каждой роли вы прописываете доступ, просто выставляя флаг «галочка» в выбранном поле. При добавлении каждой ноты или таксономии они автоматически попадают в этот список. И добавить право просматривать или как-то работать с ними вы можете при помощи редактирования прав доступа.

Всех активных пользователей вы видите на основной странице (Список), здесь же можно изменить для них права доступа, удалить или добавить нового пользователя.

Работать с этим разделом просто, он понятен интуитивно и редко вызывает вопросов.

Начинаем работать с Drupal: полное практическое руководство

Drupal

Задачи
  • узнаете о достоинствах и недостатках Друпала;
  • установите Друпал;
  • поймете принцип его работы;
  • узнаете о модулях Друпала;
  • научитесь работать со страницами администрирования;
  • создадите и опубликуете содержимое сайта;
  • настроите свой тип содержимого с помощью CCK;
  • научитесь создавать представления для вывода содержимого с помощью модуля Views;
  • создадите представления со страничным отображением;
  • создадите представления с блочным отображением;
  • узнаете о темах оформления.
Что мы сделаем
Почему именно Drupal?

подходит ли вам

Достоинства

Открытый код.все плюсы открытого ПОГибкость конфигурирования.Многочисленное и грамотное сообщество разработчиков.Модули.Легкость для разработчиков.Встроенная система кеширования.время генерации страницыДостойная встроенная поисковая система.Google SearchYahoo! Search BOSS

Недостатки

Длительный процесс обучения.небольшой сайт вы сможете создать меньше, чем за деньСложность для не-разработчиков.Сложный интерфейс.

Drupal против WordPress

WordPressиногда возможностей WordPress просто не хватает

Сайты, работающие на Drupal

MozillaFirefoxSpread FirefoxUbuntuUbuntuLinuxэти замечательные Друпал-сайты

Скачиваем и устанавливаем Drupal

Друпала 6скачайте его отсюда

Устанавливаем Drupal на XAMPP

XAMPPWAMPустановите XAMPP прямо сейчасSix RevisionsСкопируйте файлы Drupal в директорию XAMPP

Создайте settings.php

не удалили default.settings.phpэто одна из самых частых ошибок

Создаем базу данных MySQL

MySQLphpMyAdminphpMyAdminlocalhost/phpmyadmindb_drupalrootdb_drupalне лучшая практика

Создание отдельного MySQL-пользователя для базы данных Drupal

drupal_userне используйте root-аккаунт«Привилегии»«Добавить нового пользователя»действительно необходимы

  • Select
  • Insert
  • Update
  • Delete
  • File
  • Create
  • Alter
  • Index
  • Drop
  • Create Temporary Tables
  • Lock Tables
Локализация Drupal (от переводчиков)

Drupaler.ruэту страницуПеревод CCKПеревод Views

Инсталлируем Drupal с помощью мастера установки

localhost/drupalконфигурации базы данныхДополнительные настройкиПрефикс таблицblackjackконфигурирования сайта

Настройка чистых ссылок

Чистые ссылкиlocalhost/index.php?q=21улучшению SEOlocalhost/eventsmod_rewrite

Установка завершена

Не переживайте, если появится ошибка

Заходим в админку Drupal

localhost/drupal

Что такое модули Drupal?

Модули

Как добавить модули Drupal

официального хранилища-репозиторияAPI модулей Друпаласкачайте егопапки для модулей нетне кладите дополнительные модули в drupal\modules

Установка дополнительного модуля: модуль CCK

CCK (Content Construction Kit — Конструктор для содержимого)скачайте подходящую версию CCKКонструкция сайта > Модули

Страницы администрирования Drupal: ускоренный курс
  1. По задачам.
  2. По модулям.

По задачамПо модулям

Кривая изучения интерфейса админки

можно очень долгоAdministration menu

Настраиваем главную страницу

Содержание > Создать материал > Страница

Параметры меню

Вес

Формат ввода

Filtered HTMLFull HTML

Информация о редакции

Создавать новую редакцию

Параметры комментариев

Отключено

Информация об авторе

не потребуется каждый раз заполнять

Настройки публикации
  • Опубликовано — отображает статус публикации. Уберите галочку, если хотите снять материал с публикации.
  • Помещать на главную — материал будет выводиться на главной странице сайта. Снимите отметку, если не хотите выводить материал на главную страницу.
  • Закреплять вверху списков — материал будет отображаться в верхней части главной страницы и других списков.
Посмотрим на главную страницу
Чем займемся дальше

доску объявлений о вакансиях

Что такое нода в Drupal?

важнейшая концепция

Создание нового типа материала в Drupal
Создадим тип материала «Вакансия»

www.craigslist.org

  • наименование вакансии;
  • подробное описание;
  • отдел — в виде выпадающего списка;
  • опыт работы — текстовое поле;
  • зарплата — текстовое поле.

Администрирование > Типы материала > Добавить тип содержимогоТип

Свойства формы
Настройка процесса публикации
Создаем тип материала «Вакансия»
Настройка типов содержимого с помощью CCK

CKKДрупала 7

Включим несколько подмодулей CCK

Администрирование> Конструкция > Модули

Добавляем поля в форму

Администрирование > Содержание > Типы содержимогоОтделОпытСправочный текстОбщие настройки

Создайте несколько вакансий

Создать материал > Вакансияданные нам понадобятся

CCK — очень мощный инструмент

ImageFieldэтим спискомПродолжениеОбсуждение на drupal.ru

Недостатки

Критики Drupal ставят в упрёк разработчикам слабое использование объектных возможностей PHP. Действительно, API Drupal практически не использует имеющихся в PHP возможостей ООП. Разработчики аргументируют это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде. См. мотивации выбора архитектуры системы в статье Программирование в Drupal с точки зрения ООП.

Ввиду активного использования базы данных Drupal может быть слишком тяжёл для ресурсов, предоставляемых на дешёвых тарифных планах хостинг-провайдеров, хотя для небольших сайтов с посещаемостью в несколько сотен или тысяч посетителей в сутки этих ресурсов будет достаточно.

Здесь многое зависит от грамотных настроек. Лучше выбирать хостинги, специально настроенные под Drupal: nginx 0.6.31 + php5-fcgi, например.

Вот список посещаемых сайтов на Drupal:

  • Движки для сайтов
  • Секреты продвижения сайтов

Лучший хостинг для Drupal

Drupal предъявляет к хостингам серьёзные требования по выдерживаемой нагрузке

Поэтому важно выбрать качественную площадку со стабильными серверами, которые всегда доступны для посетителей. К числу таких хостингов относится Bluehost — один из мировых лидеров, имеющий международный статус

Компания была образована в 2003 году, штаб-квартира и основная инфраструктура находятся в США. Однако использование дата-центров в других регионах мира и подключение к CDN делают Bluehost оптимальным решением для размещения веб-проектов вне зависимости от территориальной принадлежности.

К основным достоинствам хостинга Bluehost.com отнесём:

  • Автоматическая установка CMS Drupal на хостинг в один клик!
  • Отличные показатели бесперебойной работы. Тесты разных серверов показывают, что за 2018 год они были доступными более 99,98% времени. Это не результаты одного успешного года, а системная характеристика.
  • Высокая скорость загрузки.
  • Удобный центр управления хостингом.
  • Продвинутые инструменты защиты хостинга.
  • Ежедневное создание бэкапов и восстановление резервной копии с помощью специалистов поддержки.
  • SSL в подарок при оплате любого тарифа. 
  • Обширная база знаний с текстовыми инструкциями, скриншотами и видео мануалами.

Однако это не значит, что для других CMS он подходит в меньшей степени — тот же Drupal встаёт и работает ничуть не хуже. Об этом говорят и рекомендации экспертов, которые на протяжении как минимум последних 10 лет вносят Bluehost в универсальный список рекомендаций.

На Bluehost есть всё необходимое для создания сайта на Drupal. Небольшие проекты можно запускать на виртуальном хостинге. Стоимость младшего тарифа — 2,95 долларов в месяц. За эти деньги вы получите 50 Гб на твердотельном накопителе, безлимитную пропускную способность, бесплатный SSL.

На минимальном тарифе можно создать только 1 сайт. В других пакетах услуг виртуального хостинга эти и другие ограничения снимаются. Кроме того, вы получаете защиту от спама, дополнительные инструменты защиты домена, выделенный IP-адрес и средство управления резервными копиями. Для виртуального хостинга — очень достойный набор.

На Bluehost есть также виртуальные и физические серверы. Стоимость VPS стартует с 18,99 долларов в месяц. Вы получаете двухъядерный процессор, 30 Гб на SSD, 2 Гб ОЗУ, 1 Тб трафика, 1 выделенный IP-адрес и возможность установить любую панель управления. Минимальная цена на выделенный сервер — 79,99 долларов в месяц. Это профессиональное решение для крупных проектов с 4 ядрами процессора, 500 Гб на диске, 4 Гб ОЗУ, 5 Тб трафика и 3 выделенными IP-адресами.

Bluehost предлагает также услуги регистрации доменного имени. Стоимость зависит от зоны, в которой будет размещён сайт. Минимальная цена — за доменное имя в зоне .SPACE, 1,99 долларов в год. Самое дорогое предложение — регистрация в зоне .BLOG, 16,99 долларов в год. Популярный .COM стоит 11,99 долларов в год. Регистрации в зоне RU/РФ на хостинге нет. Однако в центре управления доступны простые инструменты для подключения доменов, зарегистрированных на других площадках.

Дайджест интересных материалов из мира Drupal #20

Привет!

Если вы ненавидите свою CMS, то на этих майских самое время посмотреть на альтернативы. Мы в свою очередь с любовью отобрали для вас пару десятков полезных ссылок для изучения Drupal. Внутри опрос!

По-русски

Хватит это терпеть! Большой честный обзор подходов для создания лендингов от соавтора дайджеста k0teg.
Не менее полезный материал от Никиты Малышева. Отец-основатель dru.io делится своим подходом к верске Drupal-сайтов на основе Display Suite.
Хабр заинтересовался вопросами лицензирования: FAQ по лицензированию Drupal, FAQ по лицензированию Backdrop.
Немного старой доброй семёрки: Работа с чистым Token API

Важно понимать, как оно устроено, но на практике бывает удобно сразу интегрироваться с Entity API и его встроенной поддержкой токенов.
К другим новостям. @xandeadx разжился лиценцией на PhpStorm и сразу же начал писать заметки на эту тему

Мы никогда ничего такого не писали, но поведение автора блога xandeadx.ru нас очень удиаляет и возмущает. Когда уже будут заметки по Drupal 8?! 🙂

Безопасность данных

Система Drupal 9, как и любая большая CMS с широким перечнем модулей, поэтому иногда в нем находят уязвимости

Важно знать что при обнаружении уязвимости разработчики в течении короткого промежутка времени выпускаю патч и владельцу сайта выводиться соответствующая надпись на сайте и приходит оповещение на почту. Впрочем, процент «взломов» Drupal-сайтов значительно ниже, чем, например, аналогичная статистика для WordPress

При грамотных настройках вы можете быть уверены в достаточном уровне защиты своих данных. Тем более, что введение темизации, т.е. отделение шаблонов от самих данных в Drupal 9, значительно повышает степень защищенности сайта. Впрочем, забывать о правилах безопасности работы в сети Интернет нельзя ни в коем случае, независимо от выбранного движка сайта.

Шаблонизация в Drupal 9

В Drupal 9 заметно упростили разработку шаблонов для отображения различных типов страниц. Теперь для этого нет необходимости знать язык программирования PHP. Шаблоны можно формировать в простом HTML-коде, в том числе, при помощи конструктора. Далее они дополняются некоторыми командами специального языка Twig 2.x.

Но учтите: если вы хотите заниматься шаблонизацией самостоятельно, как минимум, html и понимание того, что такое шаблоны и зачем они нужны в принципе, понадобятся обязательно. Потому лучше оставьте эту часть работы программисту, верстальщику либо опытному контент-менеджеру.

Для примера вот код верстки на сайте из шаблона отвечающие за вывод отзывов.

Выбор профиля установки и начальная локализация

После настройки виртуального хоста Apache для установки и работы Drupal нужно в любом веб-браузере перейти по адресу: http://drupal-site. В результате Drupal сам запустит свой скрипт установки install.php. Сама же конфигурация виртуального хоста для drupal-site будет такой:

<VirtualHost *:80>ServerNamedrupal-site<IfModulempm_itk_module>AssignUserIdjohnjohn     </IfModule>ServerAdminwebmaster@localhostDocumentRoothomejohnhtdocsdrupal-site<Directoryhomejohnhtdocsdrupal-site/>RewriteEngineonRewriteBaseRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} !=/favicon.icoRewriteRule ^ index.php     </Directory>ErrorLog ${APACHE_LOG_DIR}/drupal-site_error.logCustomLog ${APACHE_LOG_DIR}/drupal-site_access.log combined</VirtualHost># vimsyntax=apachets=4 sw=4 sts=4 srnoet

Важно заметить, что конструкция:

<IfModulempm_itk_module>AssignUserIdjohnjohn</IfModule>

необходима только, если используется модуль Apache mpm-itk. Он позволяет запускать экземпляры процессов Apache от имени пользователей-владельцев виртуальных хостов. В данном случае хост drupal-site связывается с пользователем john и его группой.

Первое, что предлагает пользователю сценарий установки Drupal – это выбрать профиль установки: минимальный или стандартный. Второй отличается от первого набором модулей, улучшающих взаимодействие с CMS и доводящих её функциональность до полноценного сайта. Стандартный профиль предпочтительнее в большинстве случаев.

Рис.1. Выбор профиля установки Drupal 7

На этом же этапе уже можно загрузить и установить файлы нужных локализаций по адресу https://localize.drupal.org/download. Сами локализации устанавливаются в . Таким образом скачанный файл с локализацией (например drupal-7.64.ru.po) нужно скопировать следующим образом:

$ cp drupal-7.64.ru.po ~/htdocs/drupal-site/profiles/standard/translations

Теперь, после нажатия кнопки «Save and continue» загрузится следующая страница, на которой можно выбрать только что установленную локализацию:

Рис.2 Выбор языка установки

Следующим этапом установки является проверка конфигурации веб-сервера, а также интерпретатора PHP. Именно на этом этапе Drupal проверяет режимы доступа к каталогу и файлам виртуального хоста, а также наличие все необходимых модулей для Apache и PHP:

Рис.3 Ошибка доступа веб-сервера Apache к файлам виртуального хоста drupal-site

В данном случае ошибки связаны с тем, что Apache не может создать (посредством PHP) служебный каталог files и конфигурационный файл settings.php для Drupal. Каталог drupal-site и его содержимое принадлежат пользователю john и его группе. Тогда как всем остальным пользователям (в том числе пользователю Apache www-data) доступ запрещён.

Решением является использование модуля mpm-itk (или ему подобных), а также добавление в конфигурацию виртуального хоста директивы AssignUserId, либо добавление пользователя john в группу www-data Apache (или наоборот) и скрупулёзная настройка режимов доступа к каталогу виртуального хоста drupal-site. Первый вариант предпочтительнее.

После решения проблемы с режимами доступа (если конечно такая возникнет) следует обновить текущую страницу в веб-браузере и следовать дальнейшим этапам установки.

На следующем этапе необходимо указать Drupal, какую БД использовать для установки и, собственно, работы CMS. Среди прочих параметров можно указать и нестандартные, такие как хост подключения к БД, порт и префикс таблиц, которые находятся в раскрывающемся разделе «Дополнительные настройки»:

Рис. 4 Настройка подключение к базе данных

Далее Drupal настроит и установит БД. А также импортирует переводы из недавно установленного файла локализации:

Рис 5 Импорт переводов

Методы структуризации содержимого

В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.

Дизайн сайта на Drupal строится на основе сменных тем оформления. Как таковой нет единственной схемы построения дизайна, взамен Drupal даёт возможность использовать различные «движки» тем, использующие шаблоны удобные для редактирования (шаблоны XML в движках xtemplate и Smarty или шаблоны на HTML+встроенный PHP в движке phptemplate и т. п.), либо создавать темы оформления напрямую обращающиеся к API Drupal.

Начиная с версии 4.7 Drupal поддерживает технологию Ajax, для динамической подгрузки содержимого без полного обновления страниц.

Из чего состоит CMS

CMS (Content Management System) переводится как это компьютерная информационная система для управления контентом, т.е. содержимым сайта.Нередко можно встретить упрощенное название – «движок сайта», что по сути упрощение. Появились такие системы как ответ на решение одновременно двух проблем:

  1. Снижение трудоемкости работы программистов. CMS формирует страницы «на лету» на основе шаблонов и непосредственно контента (текста, картинок, видео и других материалов, хранящихся в базах данных).
  2. Предоставление возможности пользователям заниматься наполнением сайта. При помощи CMS даже человек, далекий от программирования, может добавлять или удалять страницы, изменять их содержимое и т.д.

До появления первых CMS каждая страница сайта формировалась вручную при помощи написания HTML-кода с добавлением программных вставок для реализации интерактивности (обратная связь, комментарии) и различных динамических элементов (красивые кнопки, выпадающие меню и пр.).

Появление CMS-систем решило все эти проблемы, теперь все выглядит так:

  1. Есть шаблоны с дизайном сайта или его отдельных разделов.
  2. Есть сама система управления с удобным для пользователей разделом администратора.
  3. Есть базы данных и папки для хранения графики, документации, видео.

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

Владелец сайта или его сотрудники с допуском в административную панель самостоятельно работают с материалами. В результате информация актуализируется своевременно, а работа с сайтом не требует существенных затрат.

Что для этого нужно?

Для установки Drupal и его полноценной работы необходимо удостовериться, что в системе установлены все необходимые для этого расширения для интерпретатора PHP. Таковыми являются:

  • php-mbstring – обеспечивает многобайтовое кодирование для работы строковых функций PHP;
  • php-curl – преобразование адресов в «чистые» ссылки;
  • php-mysql – обеспечивает программный интерфейс PHP для работы c БД MySQL;
  • php-gd – графическая библиотека PHP.

Все приведённые расширения доступны в стандартных репозиториях практически в любом из дистрибутивов Linux. Поэтому установить их не составляет никакой сложности, используя менеджер пакетов или систему управления пакетами (СУП) используемого дистрибутива. Например, для Ubuntu:

$ sudo apt install php7.2-gd php7.2-mbstring php7.2-curl php7.2-mysql

Также можно проверить, настроена ли связка Apache + PHP, которая обеспечивается модулем Apache libapache2-mod-php7.2:

$ sudo apt-cache search mod-php
libapache2-mod-php – server-side, HTML-embedded scripting language (Apache 2 module) (default)
libapache2-mod-php7.2 – server-side, HTML-embedded scripting language (Apache 2 module)
$ dpkg -s libapache2-mod-php7.2
Pckage: libapache2-mod-php7.2
Status: install ok installed

Как можно видеть, модуль libapache2-mod-php7.2 (в Ubuntu используется PHP 7) установлен. Приведённые выше команды, а также наименования пакетов характерны для Debian-систем, таких как Kubuntu 18.04. В RPM-ориентированных системах используются другие менеджеры пакетов и СУП, наименование пакетов будут также несколько отличаться.

В качестве СУБД (система управления базами данных) следует использовать MySQL (MariaDB), их эквиваленты, PostgreSQL или SQLite.

Для каких сайтов подходит Drupal

Если вы создаете небольшой сайт-визитку и вам предлагают воспользоваться Drupal 9, стоит хорошо подумать и, скорей всего, отказаться. Здесь скорее будет актуален WordPress или подобные решения. Также не имеет смысла выбирать Drupal для блога или простого статейного проекта. Выбирайте CMS, которые уже позиционируют себя как решения, подходящие под ваш тип сайта.

Дело в том, что Drupal 9 – система мощная, но по-своему сложная. И число необходимых для начала работы настроек велико для организации небольшого сайта. Затраты времени на настройку и добавление информации, скорей всего, не окупятся. Впрочем, если к этой визитке в недалеком будущем будут подключаться и другие модули, выбор Drupal может оказаться, наоборот, верным решением.

  1. Скорость загрузки и сео-оптимизация;
  2. Возможность автоматизации и настройки обмена данными с другими системами;
  3. Распределение ролей пользователей для разных сотрудников;
  4. Настройка шаблонов для разных разделов и т.д.

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

Скорость работы

По времени отзыва, т.е. формирования страницы, скорость Drupal считается стандартной. На практике сайты получаются сравнительно легкими, загружаются быстро. А если у вас на страницах предполагается большой объем информации, много графики или видео файлов, всегда можно настроить кеширование. В этом случае скорость загрузки страниц заметно возрастает.
Админ-раздел сайта также работает быстро. Страницы не перегружены информацией, потому загружаются и сохраняются все изменения без задержек. Нареканий работа системы с этой точки зрения не вызывает.

Работа с картинками

Также в Drupal 9 появилась возможность хранить для определенного разрешения устройства определенный размер картинки. То есть загружаете вы картинку размера 1200*1600, и можно указать что разрешения экрана в 800 пикселей максимальная ширина картинки будет 800 и CMS сама сделаем соответствующую копию картинки. За это отвечает модуль Responsive Image.

Почему я перешел на Drupal 9

Я много лет проработал с CMS Drupal 7, но в последние годы после внимательного изучения полностью перешел на Drupal 8, а затем как только вышла 9 версия, сразу на нее.

  • Для работы с шаблонами не требуется знания PHP. Работать с ними теперь проще и быстрее, даже для опытного программиста.
  • Интеграция стала проще. О преимуществах модуля интеграции, который появился в Drupal 9, я подробно писал выше.
  • Большое количество модулей в Drupal 9 уже есть «в коробке». В прошлой версии многие расширения приходилось искать и устанавливать вручную.
  • Открытость и бесплатность

Кроме того, многие возможности Drupal 7, в том числе, написанные под эту версию «движка» расширения, уже перестали обновляться. А новые решения уже ориентированы на Drupal 9.

Аналоги и конкуренты

Drupal — мощная, но достаточно сложная в освоении система. В зависимости от того, какой сайт вы создаёте, можно найти и более подходящие инструменты — в том числе конструкторы сайтов. С точки зрения общей функциональности конкурентов и аналогов у Drupal не так много, но в частных случаях бывает эффективнее использовать другие сервисы.

На Drupal тоже есть визуальный редактор, упрощающий процесс разработки страниц, но его функциональность не сравнится с теми возможностями, которые предлагают конструкторы сайтов. Ещё один важный момент — сложность управления проектом. Для полноценной работы с Drupal требуются навыки, которые появляются только с опытом — или после изучения тематических форумов. Создать же сайт на конструкторе может любой пользователь, даже не имеющий никакого представления о программировании.

Примеры модулей

Дополнительные модули размещённые в репозитории на drupal.org позволяют значительно расширить функциональность системы. Несколько примеров (приведены модули для версии Drupal 5.x, не всегда модули доступны для всех версий системы):

  • Banner — баннерная система
  • BBCode — поддержка форматирования BBCode для содержимого сайта
  • Breadcrumbs — вывод иерархии страниц («хлебных крошек»)
  • Captcha — защитный механизм картинок «captcha» используемый при регистрации
  • CCK – создание новых типов контента или добавление новых полей к уже существующим
  • Clean URLs – «чистые ссылки» (без ?=& и т.д.)
  • Collapsible Text, Collapsiblock — возможность создания блоков и секций сворачивающегося текста
  • DHTML Menu – меню с использованием JavaScript
  • Ecommerce — электронный магазин
  • External Links – подсветка почтовых и внешних ссылок
  • Fckeditor — графический редактор для ввода контента
  • Fivestar, JRating – возможность оценки материала
  • Gallery — интеграция с галереей изображений Gallery2
  • Image – возможность объединения изображений в галереи, контроль их параметров, преобразование изображений и т.д.
  • IMCE — модуль для работы с файлами
  • Listhandler — интеграция с почтовыми рассылками
  • Locale — возможность перевода интерфейса на множество языков
  • Meta Tags – управление метаданными сайта и отдельных страниц
  • Mollom, Akismet – эффективный антиспам для сайта
  • OpenID — возможность авторизации по OpenID
  • Pathauto – автоматическое формирование URL из заголовка
  • Project — багтрекер
  • SPAM — блокировка спама на основе алгоритма Байеса
  • Tagadelic — создание облаков тегов
  • Taxonomy – таксономия (категоризация содержимого с помощью словарей и терминов)
  • Thickbox, Lightbox, Shadowbox – предпросмотр картинок без перезагрузки страниц
  • TinyMCE – HTML-редактор
  • Token – сервис по использованию лексем для других модулей
  • Upgrade Status — отслеживание доступных обновлений
  • Views – гибкий метод отображения и сортировки информации
  • XML Sitemap — создание удобной для поисковиков карты сайта

…и многие-многие другие. Полный список модулей — на drupal.org.

К несомненным достоинствам Drupal следует отнести весьма полную документацию по различным аспектам системы (однако только на английском языке). Над переводом документации на русский работают сообщества Drupal.ru и Drupaler.ru.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector