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

Всем привет! Самое интересное и полезное из мира Drupal за прошедшие 3 недели.

20f46bb6becc659da37abe6b7c2481e7.png

По-русскиПервые шаги в освоении 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 вне кода: 2f5197cb65d64e12b6e33258a3882558.jpg

Несколько недель назад сообщество активно ретвитило статьи про использование 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 на благо сообщества? Пожалуйста, свяжитесь с нами: Олег Кот, Катя Маршалкина.

© Habrahabr.ru