Продвинутая загрузка сущностей в Drupal 8

26.04.2018
В одной из прошлых статей я рассматривал особенности построения запросов к базе данных на основе Drupal 8 Database API. Безусловно, с помощью данного API можно получать любые данные, содержащиеся в базе, однако, такой подход не всегда оправдан. В случае работы с сущностями правильным решением будет использование Entity API, а если точнее, то сервиса entity.query.

Устранение уязвимости SA-CORE-2018-002 на Drupal сайтах

22.04.2018

28 марта 2018 года была опубликована уязвимость удаленного выполнения кода в нескольких версиях Drupal 7.x и 8.x. Это потенциально позволяет злоумышленникам использовать несколько векторов атаки на сайты Drupal, что может привести к тому, что сайт будет полностью скомпрометирован. Возможные последствия этого:

Множественное поле в кастомной форме Drupal 7

23.03.2018
Возникла недавно необходимость повторить функционал множественного поля из Field API в самописной форме, чтобы можно было добавлять значения без перезагрузки страницы. В Form API подобного функционала нет, а толковых статей с примерами я не нашёл (в документации есть пример, демонстрирующий нечто подобное, однако, там используется обновление страницы). Но не беда, всё, что нужно, можно подсмотреть в модуле Field.

Создание пользовательских команд Drush

14.03.2018

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

Как подружить PhpStorm и Drupal

14.02.2018

В этой статье будем рассматривать настройку среды разработки для работы с Drupal. В случае нашей компании - это PhpStorm. Разберёмся, как в данной IDE активировать встроенную поддержку Drupal API, задать стиль кодирования Drupal и настроить автоматическую проверку кода на основе PHP_CodeSniffer. Все настройки будем выполнять на базе операционной системы Ubuntu 22.04.

 

Генерация и отправка PDF с результатами заполнения Webform

24.01.2018
В этой статье мы рассмотрим решение задачи генерации файла в формате PDF из данных, введенных пользователем в форму, созданную модулем Webform, наложение этих данных на заранее подготовленную подложку и отправку на почту пользователю, заполнившему форму.

Сохранение темизации при изменении текста кнопок в Bootstrap

22.01.2018
В ходе работы с сайтом часто возникает необходимость поменять текст на кнопке сабмита у определённой формы. К примеру, при создании ноды Article нас не устраивает стандартный текст и мы хотим отобразить там свой. Думаю, никто не будет спорить, что задача тривиальная. Однако прежде, чем приступить, условимся, что наш сайт работает на Drupal 8, а в качестве базовой темы оформления мы используем Bootstrap 3. Далее немного магии...

Сущности Drupal 8

15.01.2018
Создаем модуль Drupal 8, добавляющий новый тип контент-сущности с поддержкой UUID, Views, веб-сервисов и прав доступа. Такие сущности можно использовать при построении веб-сервисов JSON API или RESTful. Headless Drupal в качестве бекенда мы используем, например, в мобильных приложениях и фронтэнде на React.

Кейс по повышению качества контекстной рекламы

14.11.2017
К нам в управление поступили готовые рекламные кампании клиента, настроенные другим агентством. Была поставлена задача снижения ежемесячного бюджета и повышение эффективности рекламы. Мы проанализировали рекламные кампании, целевую аудиторию и внесли масштабные изменения. Читайте, что мы сделали и какой был итог.