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

в 11:45, , рубрики: cms, drupal, php, Веб-разработка, дайджест, метки:

Всем привет!

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

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

По-русски

  1. Первые шаги в освоении Twitter Bootstrap и Drupal поможет сделать статья Bootstrap + Drupal 7: быстрый экскурс для начинающих.
  2. Ещё один обоюдоострый инструмент друпала, о котором стоит знать: hook_module_implements_alter().
  3. @xandeadx делится джентльменским набором модулей.
  4. На Хабре вышла статья Управление конфигурациями в Drupal 8, обзор для разработчиков. Если что-то из примеров уже не работает, просмотрите Change records, где логируются все изменения API.
  5. Краткость — сестра таланта. Микросовет — global $user в функциях. Да, и конечно, называйте такой параметр $account, а не $user :)

Drupal-lite

Наша постоянная рубрика для начинающих.

  1. Простой пример кастомизации контактной формы: изменяем заголовок и перенаправление.
  2. Изучаем шаблоны полей в Display Suite, спокойно, по шагам, со скриншотами.
  3. С помощью семейства модулей Workbench можно организовать на сайте гибкую систему модерации и документооборота. Пример добавления нового состояния документа смотрите в статье Add a New Moderation State Tab to Workbench.
  4. 5 антиспам-модулей + ещё столько же в комментариях. Засветился и Simple Anti-Spam.
  5. В друпале просто $(function() {}) не прокатит. Подробно о Javascript и Drupal behaviors читайте в свежей статье луллаботов.

Drupal и Git

  1. Для тех, кто ещё не сделал в своей жизни ни одного коммита, автор Drupal-блога CodeKarate разразился серией статей о Git: 1, 2, 3, 4, 5.
  2. В статье “Git setup with hook for post-receive” рассматривается способ, как избежать хранения Git репозитория в docroot’e вашего сервера, основанный на автоматической синхронизации при помощи post-receive хуков.
  3. Довольно часто приходится иметь дело с несколькими удаленными Git-репозиториями одновременно, например, с кодом ядра друпала и с кодом разрабатываемого сайта. В данном случае возникает проблема, когда с оригинальным репозиторием мы также утаскиваем всю его историю, а это может значительно повлиять на занимаемое место. В статье “Multiple git remotes, the --depth parameter and repo size” находится решение данной проблемы.

Всё для Drupal-разработчика

  1. В статье “Rapid Drupal Scaffolding with Yeoman” рассматриваются вопросы генерации кода сущностей, модулей и т.п. на основе шаблонов при помощи Yeoman Generator. В прододжение стоит ознакомиться со статьей “Creating Custom Ctools Layout Plugins with Yeoman”, которая посвящена генерации плагинов к Ctools, а также с “Yo Hedley!” на тему Headless Drupal. Теперь вы знаете о Yeoman всё!
  2. Современная разработка страниц часто предполагает использование панелей, Views’ов и прочих фич, которые в конечном счете становятся переносимыми при помощи модуля Features. В статье “Code Management in Drupal 7 using Features, Ctools, and Panels” рассматриваются вопросы создания листингов при помощи стандартных средств (EntityFieldQuery и т.п.), а не при помощи модуля Views, с фокусом на правильную интеграцию всего этого добра с модулем Panels, и последующей упаковкой в фичу.
  3. Drush продолжает обзаводиться красивыми сайтами с документацией: к http://drushcommands.com/ добавился http://docs.drush.org/en/master/.
  4. Кстати, Drush можно запускать автоматически через Grunt, если очень хочется.
  5. Кеширование в Drupal — тема всегда актуальная. Углубляемся в дебри ядра, чтобы понять почему не отрабатывает кеш страниц для анонимных пользователей. На эту же тему можно почитать у 2bits.
  6. Как использовать свою функцию темизации для формы? Полезно, когда верстка формы очень специфическая.

Drupal 8

  1. Карьерный план Drupal-разработчика от WebOmelette: 6 необходимых шагов, чтобы стать разработчиком Drupal 8.
  2. Краткий базовый курс (опять же, для разработчика) называется «Drupal 8 in 2 steps». Почему шага должно быть именно два, — просим помощи у зала :)
  3. Третьим шагом логично поставить изучение Twig (новый движок шаблонов, пришедший на смену PHPTemplate) по статье “Gettin` Twiggy”.
  4. Вышла очередная бета (шестая) Drupal 8. К сожалению, нормального Upgrade path по-прежнему нет.
  5. Продолжает публиковаться серия статей, посвященная программному расширению модуля Views: полей, фильтров.
  6. Gabor Hojtsy продолжает всех радовать своей работой на благо интернационализации, и в его серии Drupal 8 multilingual tidbits появилась уже семнадцатая (!) статья под названием Content translation.
  7. В журнале Drupal Watchdog вышла статья, посвященная созданию интерактивных туров в Drupal 8.
  8. Если вы искали чёткие определения различным терминам в Drupal, свазанные с работой меню (menu, path, uri), то мы вам советуем ознакомиться со статьей “How does Drupal use these different terms? Route, Path, URL, URI, Link, Menu item“.
  9. Заметка о том, зачем нужны аннотации и вообще и в друпале в частности.

Бизнес и сообщество

Drupal вне кода:

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

  1. Несколько недель назад сообщество активно ретвитило статьи про использование Drupal в Умном Доме. И хотя авторы нещадно эксплуатируют все bad practices, которые можно найти в друпале, это всё равно очень весело.
  2. Chx снова уходит, теперь из агрегатора Drupal Planet. Дружное Drupal-сообщество очень его любит и надеется, что скоро он опять вернётся, отдохнувший и с магнитиками :)
  3. Начинается DrupalCon Latin America, а это значит, что скоро будет много новых видео.
  4. Ассоциация опубликовала состав участников Друпалконов в 2014 году.

Интересные модули

  1. Views Fast Field — отображение полей сущности без загрузки самой сущности.
  2. Views Accelerator — автоматическая оптимизация post execute фазы Views с анализом, статистикой, когда недостаточно стандартного кеширования по времени. Эффективно для работы с геоданными, полями с префиксами и суффиксами и т.п.
  3. Memcache Storage — альтернатива для Memcache модуля, который обеспечивает интеграцию Drupal с Memcached для обеспечения высокой производительности. Memcache Storage имеет ряд дополнительных возможностей по сравнению с оригиналом.
  4. Corresponding Entity References — если сущность A ссылается на сущность B, а сущность B ссылается на A, то при апдейте или удалении оригинальных сущностей связь может стать некорректной. Данный модуль решает эту проблему.
  5. Translation Management Tool — инструментарий для перевода содержимого из разных источников, включая ручной, машинный и интеграцию с любыми сервисами перевода.
  6. Drupal Issue Tracking — расширение для Chrome, которое позволяет мониторить статус любых тикетов (issue) с Drupal.org.
  7. Apido — пользовательский скрипт (userscript) для Chrome/Opera/Firefox, который подсвечивает переменные и фигурные скобки при отображении кода на api.drupal.org и drupalcode.org.
  8. Pushbullet API — отправка Push-уведомлений на мобильные устройства, а также в ваши браузеры (статья).
  9. Machine Name — добавляет поле для хранения машинного имени (хранит букво-цифровое (alphanumeric) значение, которое должно быть уникальным и крайне редко изменяться (статья).

Пишете статьи о Drupal на благо сообщества? Пожалуйста, свяжитесь с нами: Олег Кот, Катя Маршалкина.

Автор: k0teg

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js