Приватные картинки CKEditor + Drupal: динамический путь сохранения изображений, загружаемых через текстовый редактор

27.09.2023
На Drupal можно организовать хранение и редактирование внутренних документов в компании, совместную работу с ними с мощной системой ролевого контроля доступа к страницам и файлам. В Инитлаб мы активно используем Drupal для работы с документами в команде. Однако прикрепляемые в WYSIWYG-редакторе CKEditor картинки по умолчанию доступны публично без авторизации и уходят в одну папку на сервере. В этой статье публикуем наше решение этих проблем.

Настройка AMP для Drupal 8 и 9

26.01.2022

Для ускорения мобильных страниц Google предлагает использовать их технологию — AMP. Она позволяет генерировать облегченные страницы — они грузятся быстрее обычных из-за особой системы кэширования. Поисковая система Google охотнее продвигает такие страницы в поисковой выдаче (Яндекс с этой технологией пока не дружит).

Правильные ответы сервера для ускорения индексации сайта

14.10.2020

Клиенты часто обращаются к нам после проведения SEO аудита за оптимизацией сайта на Drupal. Список рекомендаций практически всегда один и тот же, за исключением индивидуальных особенностей поддерживаемого проекта. Проанализировав статистику, заметили, что хоть нашу проблему и включают в отчет, заказчики и исполнители чаще всего игнорируют ее, потому что информации и опыта оказывается слишком мало. Это проблема - правильные заголовки ответа от сервера. Выдача корректных заголовков позволяет ускорить индексацию новых и измененных страниц сайта в несколько раз. 

Drupal: Модуль CDEK API

29.09.2020
В начале сентября ветки 8.x-2.x и 7.x-2.x, разрабатываемого мною модуля CDEK API, добрались до полноценных релизов - все задуманные фичи реализованы и протестированы. В данной статье кратко расскажу о том, какие у модуля возможности и как их использовать.

Drupal 8: Validation Constraints

20.04.2020

В Drupal 8 валидация сущностей представляет собой отдельное API, которое отделено от механизма валидации форм. Оно основывается на компоненте Symfony Validator и связано с Typed Data API. поскольку сущности и поля являются типизированными данными. Это также означает, что можно добавлять валидацию к любым типизированным данным.

Так как валидация сущностей не привязана к формам (хотя она там тоже используется), её можно использовать по требованию. К примеру, это полезно при реализации веб-сервиса, что отражено в модулях JSON:API и RESTful Web Services.

 

Drupal + browser-sync

30.07.2019

При работе с js хочется, чтобы браузер сам перезагружал страницу, так сказать делал hot reload, или, изменяя стили в css, они автоматически изменились в браузере (инъекция), как, например, это происходит при работе с React или Vue. Но как же этого добиться с Drupal? Есть много решений, но все они так или иначе используют browser-sync. Browser-sync - это пакет для nodejs, позволяющий синхронизировать несколько браузеров, а также делающий автоматическую перезагрузку страниц и инъекции стилей. Используя связку nodejs + gulp + browser-sync, мы будем делать всю эту магию вместе с Drupal.

Drupal 8: Добавляем даные для замены токенов в EmailAction

31.05.2019

Есть в Drupal 8 такой механизм - действия (actions). Он представляет собой систему плагинов, в каждом из которых описывается логика, которая выполняется при выполнении действия. Также есть настраиваемые действия, которые связываются с конфигурационными сущностями.

Drupal Contribution Weekend 2019

06.03.2019
25-27 января по всему миру проходил Drupal Contribution Weekend 2019. Пост по мотивам этого мероприятия о том, что такое Drupal Contribution Weekend, как он прошел в нашей компании и почему мы любим Drupal и контрибутим в него.