Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal.
Предполагается, что вы уже загрузили entity с полем типа media (в примере называется — field_media) в какую то переменную. Дальше нужно загрузить объект media, получить ID файла, загрузить объект файла и там уже сгенерировать URL.
|
|
use Drupal\file\Entity\File; use Drupal\media\Entity\Media $entity = ...; // ваша нода или параграф $media_id = $entity->get('field_media')->getString(); $fid = Media::load($media_id)->field_media_image->target_id; $file = File::load($fid); $URL = $file->createFileUrl(); |
По умолчанию вы должны получить относительный путь, если нужен абсолютный — то используйте следующий вызов метода createFileUrl():
|
|
$absoluteUrl = $file->createFileUrl(false); |
Drupal 8/9
Данная запись опубликована в 27.07.2021 20:25 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 22, 2022 г.
Для семерки можете посмотреть другую статью.
Обычно правят поведение существующих форм через hook_form_alter, добавляя туда еще один обработчик submit. Специальный метод setRedirectUrl объекта FormStateInterface позволяет настроить адрес перенаправления. ...
Читать
Май 24, 2021 г.
Для отправки писем, Drupal 9 использует реализации интерфейса MailInterface (core/lib/Drupal/Core/Mail/MailInterface.php). И в коробке сразу же имеется ...
Читать
Сентябрь 27, 2021 г.
Логика полей или условные поля - это удобная фича в Form API друпал. Она позволяет формализовать кучу мелкой логики на фронт-енд, связанной с взаимодействием пользователя с вашей формой.
Здесь я приведу пару примеров использования, а углубиться ...
Читать
Август 7, 2021 г.
Если файл загружен через поле, созданное в конструкторе полей какого либо entity Drupal, то соответствующий модуль, предоставляющий функционал загрузки файла, сам обеспечит установку необходимого статуса. Что если поле было создано программно, и требуется ...
Читать