Топ модулей для Drupal 7 на 2015 год.
Хочу познакомить вас с моим набором модулей, большинство из которых я использую на каждом проекте. За последние 6 лет активного использования Друпала, могу выделить ряд модулей реально оживляющих систему.
Визуальный редактор:
- CKEditor - WYSIWYG HTML editor
Must-have. Визуальный редактор для контента. Пожалуй, лучший из бесплатных.
- Image Resize Filter
Вставляете в визуальном редакторе большую картинку.
Задаёте ей нужную ширину/высоту и нажимаете сохранить.
Она сама пережимается, создавая новый файл на сервере.
Эта новая картинка сама подставляется в ваш контент. Всё удобно.
- IMCE + IMCE Mkdir + IMCE Rename
Файловый браузер для сервера + Возможность создавать папки + Возможность переименовывать.
- One Click Upload
Замечательный модуль, позволяющий закачивать и сразу вставлять картинки в контент. Очень удобно.
Основные модули:
- Pathauto
Must-have модуль. Позволяет задавать(по шаблонам) пути для: nodes, taxonomy terms, users.
Хотите создать путь на сайте типа «/producti/chayniki/rozovaya-lenta.html»? Тогда вам нужен этот модуль. Также совместно рекомендуется использовать модуль Transliteration.
- Transliteration
Позволяет транслитерировать создаваемые пути на сайте. Например «продукты» в «producti»
- Views + Views Bootstrap
Жизни нет без этого модуля. Включён в ядро Друпал 8.
Позволяет настраивать всевозможный вывод материалов, их полей, заголовков, пэйджеров… и всё это кастомизировать.
Интуитивно НЕ понятен. Рекомендуется изучать сразу по мануалам. Там ооооочень много тонкостей.
- Webform + Webform Ajax
Нужна форма контактов? Или длинный опросник с сохранением результатов на сайте? Используйте Webform. Всё можно настраивать при помощи мышки. Можно подключить ajax.
- Panels
Мощный (и немного сложный) модуль. Проблема этого модуля, как и views, - интуитивная непонятность. Это отпугивает новичков. Разберитесь с ним – это того стоит.
Позволяем настраивать отображение страницы, выдаваемой разметки….
Если вы используете, например Bootstrap, и вам нужна определённая разметка html кода – то этот модуль вам поможет.
- Panelizer
Используется совместно с Panels. Позволяет привязывать панели к определённым типам материалов.
- Metatag
Добавляет возможность управлять мета тэгами на сайте. Title, keywords, description, …и ещё длинный список. Имеет настраиваемые шаблоны. Позволяет задавать уникальные «Title, keywords, description, …» для каждой отдельной страницы.
- Menu Block
Позволяет выводить от меню, например только первый уровень. Или первый + второй уровни. Удобно и ненужно ничего костылить с меню.
- Exclude Node Title
Нужно на какой-то странице быстренько убрать заголовок? Этот модуль поможет.
- Fancybox
Подключает fancybox. Там в настройках нужно задать css селектор, на какие элементы вешать fancybox.
- Date
Добавляет в Друпал новый тип поля: «Дата». Выпадающее диалоговое окно выбора даты(javascript).
- Email
Добавляет в Друпал новый тип поля: «Email»
- Flag
Хотите добавить к контенту кнопку «лайкнуть» или «добавить в избранное»?
Позволяет добавлять различные маркеры для контента.
- jQuery Update
Подключает более новую версию библиотеки jQuery. Настраивается. Может подключать CDN.
- Cache Lifetime Options
Позволяет выставлять опцию жизни кэша до 12 месяцев.(В Друпале можно только на 1 день максимум). Используется для редко обновляемых сайтов.
- Google Analytics
Подключение Гугл аналитики для сайта.
- Rules
Можно настраивать выполнение разных действий при наступлении заданных событий. Используется редко.
- Search API
Используйте, только если требуется продвинутый поиск на сайте. Например поддержка Elastic Search.
- Redirect
Задаёт 301 редиректы для страниц. Используется совместно с Pathauto.
- Global Redirect
Используется для улучшения SEO продвижения сайта. Призван устранять дубликаты страниц с сайта.
Проставляет правильные редиректы.
Используйте с осторожностью. Может сильно глючить. Особенно на мультиязычных сайтах.
- XML Site Map
Позволяет генерить sitemap.xml для сайта. Можно задавать какие пути писать в сайтмэп.
Не всегда видит или правильно создаёт все пути. Нужно проверять.
Мы используем свой самописный обходчик сайта, который и создаёт правильный sitemap.xml(заодно и кэш прогревает).
Администрирование:
- Localization update
Пожалуй первый модуль который следует установить. Автоматически скачивает(с сервера переводов) переводы для ядра Друпала и для всех модулей.
- Admin Menu
Заменяет административное меню в Друпале на выпадающее меню – быстрый доступ ко всем частям системы. Лучше установить его сразу, и привыкать к нему. Удобен!
- Module filter
Воздействует только на страницу администрирования модулей. Наглядно группирует модули по категориям. Есть поле поиска.
Может глючить(смотрите открытые баги по модулю). Я перестал его использовать.
- Backup & Migrate
Сисадмины делятся на два типа: которые еще не делают бэкапы, и которые уже делают бэкапы.
В общем: штука для удобного делания бэкапов. По расписанию можно настроить. Сама будет бэкапить (в друпале7 можно не настраивать cron через Unix, он автоматом будет запускаться при посещении сайта пользователями). И базу и файлы (целиком сайт) можно бэкапить в архив. Настраиваемое автоудаление старых бэкапов. Также существует возможность заливать бэкапы на удалённые сервисы или ftp. Можно настраивать какие таблицы из базы бэкапить, а какие игнорировать(таблицы кэша).
Для переноса сайта пользуюсь этим модулем.
Также напомню старую мудрость: периодически тестируйте бэкапы на восстанавливаемость. Может случиться так, что через какое-то время все создаваемые бэкапы - станут создаваться битыми, и из них нельзя будет восстановиться.
- Stage file proxy
Интересный модуль для локальной отладки.
Суть: на продуктовом сервере вы насоздавали материалов, поназагружали картинок. Потом скопировали только базу себе на локальный. А картинки не скопировали(их может там сотни). Открываете свой локальный сайт, а там картинки битые(от новых материалов). Так вот этот модуль подгружает втихую запрашиваемые картинки с продуктового сервера на локальный.
- Features
Полезный модуль, позволяющий экспортировать ваши настройки (например «тип материала») в виде модуля. Особенно помогает когда нужно, например, разработать новую фичу на девелоперской(локальной) машине, а потом перенести на продакшен сервер. Продакшен сервер в это время администрируют несколько других людей(наполняют контент, меняют настройки отображения). И вы не можете просто взять и перезалить всю базу с локальной машины на продакшен. Здесь приходит на выручку «Features» Модуль не для новичков. Тут нужен опыт.
Для продвинутых пользователей:
- Devel
Модуль для отладки сайта и вывода отладочных сообщений.
Для продвинутых разработчиков.
Также позволяет генерировать фэйковые данные типа пользователей, материалов…
Также в Друпале, версии старше 7.39, в настроечном файле «/sites/default/settings.php» можно задать:
$conf['theme_debug'] = TRUE;
Тогда, друпал будет вставлять в исходный html код отладочную информацию об автопоиске(suggestions) подключаемых шаблонов:
<!-- BEGIN OUTPUT from 'sites/all/themes/rsite/templates/block.tpl.php' -->
…тело подключаемого файла block.tpl.php …
<!-- END OUTPUT from 'sites/all/themes/rsite/templates/block.tpl.php' -->
<!-- THEME DEBUG -->
<!-- CALL: theme('block') -->
<!-- FILE NAME SUGGESTIONS:
x block--block--6.tpl.php
* block--block.tpl.php
* block--content.tpl.php
* block.tpl.php
-->
<!-- BEGIN OUTPUT from 'sites/all/themes/rsite/templates/block--block--6.tpl.php' -->
Красный крестик(выделил для наглядности) показывает что Друпал нашел и подключил файл block--block--6.tpl.php
То есть Друпал сначала ищет в папке /templates/ темы файл:
block--block--6.tpl.php
если находит, то подключает его и прекращает дальнейший поиск. Если не находит, то ищет файл:
block--block.tpl.php
потом
block--content.tpl.php
потом
block.tpl.php
Такие подсказки помогают при разработке.
- Drush
Управление Друпалом из командной строки. Установить, обновить, удалить, настроить… ядра Друпала, модулей…