Всем привет!
Самое интересное и полезное из мира Drupal за прошедшие 3 недели.
По-русски
- Первые шаги в освоении Twitter Bootstrap и Drupal поможет сделать статья Bootstrap + Drupal 7: быстрый экскурс для начинающих.
- Ещё один обоюдоострый инструмент друпала, о котором стоит знать: hook_module_implements_alter().
- @xandeadx делится джентльменским набором модулей.
- На Хабре вышла статья Управление конфигурациями в Drupal 8, обзор для разработчиков. Если что-то из примеров уже не работает, просмотрите Change records, где логируются все изменения API.
- Краткость — сестра таланта. Микросовет — global $user в функциях. Да, и конечно, называйте такой параметр $account, а не $user :)
Drupal-lite
Наша постоянная рубрика для начинающих.
- Простой пример кастомизации контактной формы: изменяем заголовок и перенаправление.
- Изучаем шаблоны полей в Display Suite, спокойно, по шагам, со скриншотами.
- С помощью семейства модулей Workbench можно организовать на сайте гибкую систему модерации и документооборота. Пример добавления нового состояния документа смотрите в статье Add a New Moderation State Tab to Workbench.
- 5 антиспам-модулей + ещё столько же в комментариях. Засветился и Simple Anti-Spam.
- В друпале просто
$(function() {})
не прокатит. Подробно о Javascript и Drupal behaviors читайте в свежей статье луллаботов.
Drupal и Git
- Для тех, кто ещё не сделал в своей жизни ни одного коммита, автор Drupal-блога CodeKarate разразился серией статей о Git: 1, 2, 3, 4, 5.
- В статье “Git setup with hook for post-receive” рассматривается способ, как избежать хранения Git репозитория в docroot’e вашего сервера, основанный на автоматической синхронизации при помощи post-receive хуков.
- Довольно часто приходится иметь дело с несколькими удаленными Git-репозиториями одновременно, например, с кодом ядра друпала и с кодом разрабатываемого сайта. В данном случае возникает проблема, когда с оригинальным репозиторием мы также утаскиваем всю его историю, а это может значительно повлиять на занимаемое место. В статье “Multiple git remotes, the --depth parameter and repo size” находится решение данной проблемы.
Всё для Drupal-разработчика
- В статье “Rapid Drupal Scaffolding with Yeoman” рассматриваются вопросы генерации кода сущностей, модулей и т.п. на основе шаблонов при помощи Yeoman Generator. В прододжение стоит ознакомиться со статьей “Creating Custom Ctools Layout Plugins with Yeoman”, которая посвящена генерации плагинов к Ctools, а также с “Yo Hedley!” на тему Headless Drupal. Теперь вы знаете о Yeoman всё!
- Современная разработка страниц часто предполагает использование панелей, Views’ов и прочих фич, которые в конечном счете становятся переносимыми при помощи модуля Features. В статье “Code Management in Drupal 7 using Features, Ctools, and Panels” рассматриваются вопросы создания листингов при помощи стандартных средств (EntityFieldQuery и т.п.), а не при помощи модуля Views, с фокусом на правильную интеграцию всего этого добра с модулем Panels, и последующей упаковкой в фичу.
- Drush продолжает обзаводиться красивыми сайтами с документацией: к http://drushcommands.com/ добавился http://docs.drush.org/en/master/.
- Кстати, Drush можно запускать автоматически через Grunt, если очень хочется.
- Кеширование в Drupal — тема всегда актуальная. Углубляемся в дебри ядра, чтобы понять почему не отрабатывает кеш страниц для анонимных пользователей. На эту же тему можно почитать у 2bits.
- Как использовать свою функцию темизации для формы? Полезно, когда верстка формы очень специфическая.
Drupal 8
- Карьерный план Drupal-разработчика от WebOmelette: 6 необходимых шагов, чтобы стать разработчиком Drupal 8.
- Краткий базовый курс (опять же, для разработчика) называется «Drupal 8 in 2 steps». Почему шага должно быть именно два, — просим помощи у зала :)
- Третьим шагом логично поставить изучение Twig (новый движок шаблонов, пришедший на смену PHPTemplate) по статье “Gettin` Twiggy”.
- Вышла очередная бета (шестая) Drupal 8. К сожалению, нормального Upgrade path по-прежнему нет.
- Продолжает публиковаться серия статей, посвященная программному расширению модуля Views: полей, фильтров.
- Gabor Hojtsy продолжает всех радовать своей работой на благо интернационализации, и в его серии Drupal 8 multilingual tidbits появилась уже семнадцатая (!) статья под названием Content translation.
- В журнале Drupal Watchdog вышла статья, посвященная созданию интерактивных туров в Drupal 8.
- Если вы искали чёткие определения различным терминам в Drupal, свазанные с работой меню (menu, path, uri), то мы вам советуем ознакомиться со статьей “How does Drupal use these different terms? Route, Path, URL, URI, Link, Menu item“.
- Заметка о том, зачем нужны аннотации и вообще и в друпале в частности.
Бизнес и сообщество
Drupal вне кода:
- Несколько недель назад сообщество активно ретвитило статьи про использование Drupal в Умном Доме. И хотя авторы нещадно эксплуатируют все bad practices, которые можно найти в друпале, это всё равно очень весело.
- Chx снова уходит, теперь из агрегатора Drupal Planet. Дружное Drupal-сообщество очень его любит и надеется, что скоро он опять вернётся, отдохнувший и с магнитиками :)
- Начинается DrupalCon Latin America, а это значит, что скоро будет много новых видео.
- Ассоциация опубликовала состав участников Друпалконов в 2014 году.
Интересные модули
- Views Fast Field — отображение полей сущности без загрузки самой сущности.
- Views Accelerator — автоматическая оптимизация post execute фазы Views с анализом, статистикой, когда недостаточно стандартного кеширования по времени. Эффективно для работы с геоданными, полями с префиксами и суффиксами и т.п.
- Memcache Storage — альтернатива для Memcache модуля, который обеспечивает интеграцию Drupal с Memcached для обеспечения высокой производительности. Memcache Storage имеет ряд дополнительных возможностей по сравнению с оригиналом.
- Corresponding Entity References — если сущность A ссылается на сущность B, а сущность B ссылается на A, то при апдейте или удалении оригинальных сущностей связь может стать некорректной. Данный модуль решает эту проблему.
- Translation Management Tool — инструментарий для перевода содержимого из разных источников, включая ручной, машинный и интеграцию с любыми сервисами перевода.
- Drupal Issue Tracking — расширение для Chrome, которое позволяет мониторить статус любых тикетов (issue) с Drupal.org.
- Apido — пользовательский скрипт (userscript) для Chrome/Opera/Firefox, который подсвечивает переменные и фигурные скобки при отображении кода на api.drupal.org и drupalcode.org.
- Pushbullet API — отправка Push-уведомлений на мобильные устройства, а также в ваши браузеры (статья).
- Machine Name — добавляет поле для хранения машинного имени (хранит букво-цифровое (alphanumeric) значение, которое должно быть уникальным и крайне редко изменяться (статья).
Пишете статьи о Drupal на благо сообщества? Пожалуйста, свяжитесь с нами: Олег Кот, Катя Маршалкина.
Автор: k0teg