Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID.
Читать далее »Все записи категории ‘Программирование’
Это пример миграции данных из CSV файла в Drupal.
Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом.
А далее мы используем migration_lookup, чтобы подтянуть айдишники параграфов и вставить их в нужное поле.
Читать далее »API миграции в Drupal позволяет «тащить» данные из разных источников, но работает это на базе контрибных модулей, т.е. не из коробки.
Например, модуль migrate_source_csv добавляет возможность добавить CSV файл как источник данных.
Читать далее »Термины представляют из себя отдельные сущности, которые подключаются к родительской entity в виде term reference. Потому классический подход — это отдельная предварительная миграция терминов, а потом подключение их, используя migration_lookup плагин.
Но на практике, вы скорее всего будет иметь термины в виде текстовых меток. И вам удобнее будет обработать их «на лету», без дополнительной отдельной миграции.
Именно для этого я и написал небольшой миграционный обработчик, который преобразует текстовую метку в ссылку на термин (создаёт или находит существующий).
Читать далее »Параграфы, оторванные от родительской entity нам не нужны, потому эта миграция является дочерней к рассматриваемому примеру миграции статей блога из CSV.
Читать далее »В Drupal 10 множество функций работы с файловой системой было собрано в сервис file_system. В том числе и drupal_mkdir была перенесена туда.
Читать далее »Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter.
Читать далее »Вы создали форму с полем типа file, и хотите сохранять файл как сущность друпала при отправке данных формы.
1 2 3 4 5 6 |
$form['file'] = [ '#type' => 'file', '#title' => t('File'), '#description' => t('File to upload.'), '#attributes' => ['accept' => '.csv'], ]; |
Пример того, как можно дополнить результаты views в Drupal 9/10.
Задача — вывести для статьи блок со связанными публикациями. В начале нужно было просто выводить последние статьи того же типа, а потом у заказчика возникло желание переопределять выдачу, задавая часть статей вручную для каждой публикации.
Читать далее »У вас есть публикация и в ней задана категория (таксономия). Задача — использовать значение выбранной категории во view, которая отображается на данной странице публикации.
Например, вы выводите «похожие статьи» и выбираете их из той же самой категории, к которой принадлежит статья.
Читать далее »