Чтобы извлечь адрес изображения из картинки в поле типа 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 12, 2021 г.
Типичная проблема сайта, когда тот оказывается за балансировщиком нагрузки (load balancer), это несоответствие части заголовков запроса клиента и тех заголовков, которые передаются балансировщиком серверу. Чаще всего мы сталкиваемся с этим при запуске ...
Читать
Июль 6, 2023 г.
У нас есть контроллер, который выдаёт json ответ. Добавим кеширование.
Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml:
[crayon-697ee49d5faa3892531984/]
Это значит, что у нас создан класс PublicApi в ...
Читать
Май 24, 2021 г.
Для отправки писем, Drupal 9 использует реализации интерфейса MailInterface (core/lib/Drupal/Core/Mail/MailInterface.php). И в коробке сразу же имеется ...
Читать
Август 30, 2021 г.
Пример кода как рендерить блок views с программной установкой contextual filters.
Контекстные фильтры устанавливаются методом ViewExecutable::setArguments(array $ARGS). В примере я передаю пару аргументов в качестве значений контекстных фильтров. ...
Читать