Все записи категории ‘Drupal’

Убираем вставку   в пустые div контейнеры в CKEditor 5
 9 Апр, 2025

Неприятная особенность CKEditor — добавляет в пустые контейнера (в <div>,<p> и т.п.) html код неразрывного пробела.

Читать далее »
Как получить определения из конфигурационных файлов схем Drupal
 6 Апр, 2025

Drupal config API позволяет не только прочитать сами настройки, но и файлы их определений. В общем то это очевидно, покажу как это делается.

Читать далее »
Подключаем yandex cloud как s3 в Drupal
 3 Апр, 2025

Облачные файловые хранилища Яндекса можно подключить и использовать в вашем проекте на drupal через модуль s3fs. А именно, хранить там т.н. юзерфайлы, разгрузив дисковое пространство веб-хостинга.

Читать далее »
Фильтр по годам во views
 19 Мар, 2025

Задача проста — есть материалы, у которых есть поле даты (timestamp), нужно вывести кнопки фильтрующие список по годам.

Читать далее »
Добавить произвольную ссылку в меню на этапе препросессинга в Drupal
 17 Мар, 2025

Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.

Читать далее »
Рендер произвольного блока в Drupal 11
 13 Мар, 2025

Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно.

Читать далее »
Чтение данных из oembed провайдера
 11 Мар, 2025

В Drupal 10/11 поддержка Oembed провайдеров в ядре (модуль media) позволяет легко и непринуждённо читать данные о медиа прямо из провайдера.

Читать далее »
Кастомные настройки сайта в Drupal
 9 Мар, 2025

На сайте всегда (или почти всегда) возникает задача управления настройками вроде телефон, email, какие то текстовые элементы, вроде копирайта, адрес организации и т.п.

С точки зрения данных — требуется объект в терминах шаблонов проектирования — синглтон. Т.к. нам нужен всего один экземпляр.

Читать далее »
Добавляем в page cache зависимость от значения cookie
 4 Мар, 2025

Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. Хотелось бы расширить его возможности и получить больше управления над кешированием.

Рассмотрим как переопределить зацепку page_cache, и изменить идентификатор cache_id (cid), который генерируется для страниц. Мы добавим зависимость от названия города, которое пользователь передаёт как cookie с именем city.

Читать далее »
Rutube: интегрируем как oembed provider source в Drupal
 28 Фев, 2025

Задача — добавить rutube как oembed провайдера в медиа библиотеку, чтобы можно было создать медиа тип Rutube, где будет поле для ввода ссылки. Медиа поля после этого позволят добавлять еще один тип медиа содержимого — Rutube Video.

Читать далее »