Чтобы извлечь адрес изображения из картинки в поле типа 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июль 6, 2023 г.
У нас есть контроллер, который выдаёт json ответ. Добавим кеширование.
Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml:
[crayon-69f3180b4ebf6054339906/]
Это значит, что у нас создан класс PublicApi в ...
Читать
Май 16, 2021 г.
Сложно сейчас найти рублевые цены с копейками, но по умолчанию они выводятся в шаблонах. Давайте посмотрим как их убрать в случае настройки магазина построенного ...
Читать
Октябрь 4, 2024 г.
Проблема описана вот тут, и там даже предлагается патч https://www.drupal.org/files/issues/2024-05-28/3134922-40.patch,который частично решает проблему, но в #43 siavash (Sia) более подробно рассказывает о том, как сохраняются данные, и становится ясно, ...
Читать
Август 31, 2021 г.
Рассмотрим пару кейсов, того как рендерить блок из вашего кода.
Блок существует как Entity
Вы создали произвольный блок через Manage->Structure->Block ...
Читать