Все записи категории ‘Программирование’

Как подставить файл-источник при запуске миграции из CSV файла
 4 Мар, 2024

При работе с migration API в друпал, в документации предполагается, что вы задаёте файл в секции source как значение path. (Подразумевается, что вы используете модуль migrate_source_csv).

Хотелось бы делать это через интерфейс, а не конфигурационные файлы. Т.е. идеальный процесс такой, что пользователь выбирает файл через форму миграции, запускается процесс миграции и пользователь видит этот процесс как стандартную batch — обработка в Drupal (аналогично тому как, например, выглядит загрузка переводов при установке модуля).

Читать далее »
Миграция картинки по URL в Media поле (Drupal)
 3 Мар, 2024

Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID.

Читать далее »
Конфигурация для миграции статей (node:blog) из CSV файла
 2 Мар, 2024

Это пример миграции данных из CSV файла в Drupal.

Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом.

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

Читать далее »
Drupal migration из CSV файла
 1 Мар, 2024

API миграции в Drupal позволяет «тащить» данные из разных источников, но работает это на базе контрибных модулей, т.е. не из коробки.

Например, модуль migrate_source_csv добавляет возможность добавить CSV файл как источник данных.

Читать далее »
Миграция терминов таксономии
 29 Фев, 2024

Термины представляют из себя отдельные сущности, которые подключаются к родительской entity в виде term reference. Потому классический подход — это отдельная предварительная миграция терминов, а потом подключение их, используя migration_lookup плагин.

Но на практике, вы скорее всего будет иметь термины в виде текстовых меток. И вам удобнее будет обработать их «на лету», без дополнительной отдельной миграции.

Именно для этого я и написал небольшой миграционный обработчик, который преобразует текстовую метку в ссылку на термин (создаёт или находит существующий).

Читать далее »
Создание параграфов из CSV файла
 27 Фев, 2024

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

Читать далее »
Чем заменить drupal_mkdir() в Drupal 10
 22 Фев, 2024

В Drupal 10 множество функций работы с файловой системой было собрано в сервис file_system. В том числе и drupal_mkdir была перенесена туда.

Читать далее »
Подключение своих стилей для CKEditor 5 в Drupal
 20 Фев, 2024

Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter.

Читать далее »
Сохранение файла, полученного через форму в Drupal
 17 Фев, 2024

Вы создали форму с полем типа file, и хотите сохранять файл как сущность друпала при отправке данных формы.

Читать далее »
Дополняем результаты views
 14 Фев, 2024

Пример того, как можно дополнить результаты views в Drupal 9/10.

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

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