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

Drupal Commerce — расчет доставки для выбранного района
 26 Авг, 2021

Есть список районов города, доставка в которые имеет фиксированную ставку. Пользователь выбирает район — программа должна подставить цену доставки для этого района.

Задача вроде простая, но приходится решать много попутных вопросов и в комплексе получается довольно сложно.

Читать далее »
Пример кода переключения между базами в Drupal 9
 22 Авг, 2021

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

Читать далее »
Подключаем suggestions list в диалог CKeditor — Link
 10 Авг, 2021

Link — это штатный диалог, который используется в CKeditor для редактирования ссылок. И выглядит он как показано на картинке сверху. Он хорошо выполняет свою задачу, но неудобным для редакторов является то, что ссылку на какой-либо статью предварительно приходится искать на самом сайте. А было бы здорово, если б поле предлагало варианты ссылок на материалы сайта, т.н. suggestions list.

Читать далее »
Устанавливаем флажок FILE_STATUS_PERMANENT для файла в DRUPAL 9
 7 Авг, 2021

Если файл загружен через поле, созданное в конструкторе полей какого либо entity Drupal, то соответствующий модуль, предоставляющий функционал загрузки файла, сам обеспечит установку необходимого статуса. Что если поле было создано программно, и требуется сменить статус файла с ‘Временного’ на ‘Постоянный’?

Читать далее »
Рендер ссылки в Drupal 9
 5 Авг, 2021

В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого «наследника» устаревшей функции нет.

Читать далее »
Theme image в Drupal 9
 3 Авг, 2021

Смотрим как выполнить рендеринг файла-картинки в Drupal 9 программно.

Читать далее »
Подстановка токенов в коде Drupal 9
 1 Авг, 2021

Ядро и модули объявляют множество токенов подстановки. Рассмотрим как получить доступ к глобальному объекту типа \Drupal\Core\Utility\Token и выполнить подстановку в строке.

Читать далее »
Как в Drupal 9 получить URL изображения, сохраненного в поле media
 27 Июл, 2021

Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal.

Читать далее »
Удаление nodequeue программно
 28 Май, 2021

Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных.

Читать далее »
HTML email в Drupal 9
 24 Май, 2021

Для отправки писем, Drupal 9 использует реализации интерфейса MailInterface (core/lib/Drupal/Core/Mail/MailInterface.php). И в коробке сразу же имеется реализация — класс PhpMail (core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php). С ним все отлично, но вот только в функции форматирования письма вновь (аналогично как и в Drupal 7) вызывается функция, зачищающая HTML теги письма MailFormatHelper::htmlToText().

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