Рейтинг:0

Как получить доступ к URL-адресу удаленного видео, документа и изображения внутри шаблона ветки?

флаг gh

У меня есть поле под названием СМИ (имя компьютера: field_media) внутри типа контента. В этом поле «Медиа» используются типы мультимедиа «Удаленное видео», «Изображение» и «Документы». В настоящее время я пытаюсь отобразить этот носитель внутри моего шаблона ветки как ссылку на любой тип носителя.. Например, если это удаленное видео YouTube, ссылка приведет вас к видео, а если это документ в формате PDF, ссылка приведет вас на внутреннюю страницу для отображения этого документа. Примеры:

Документ: введите описание изображения здесь Удаленное видео: введите описание изображения здесь

Итак, внутри моего шаблона ветки поля возьмите приведенные выше значения и для каждого элемента поместите его в href атрибут так:

<div{{ item.attributes.addClass('field__item') }}><a href={{ url_of_internal_document_image_or_remote_video }}>{{ item.content }}</a></div>

Внутри href значение Я пробовал такие значения, как node.field_media.entity.field_media_oembed_video.value (для удаленного видео), но это не сработало.

Мой шаблон ветки отображается следующим образом: введите описание изображения здесь Что выглядит так, как я хочу, но я не могу получить ссылку, чтобы перейти к удаленному видео или внутреннему PDF-файлу.

Примечание: В меню «Управление отображением» моего типа контента у меня есть эта конфигурация для поля. введите описание изображения здесь

shelane avatar
флаг cn
Вы пробовали `node.field_media.entity.field_media_oembed_video.0`?
флаг gh
@shelane да, это не сработало: / вернулось как null
Рейтинг:1
флаг bo

После довольно продолжительных поисков и с помощью https://www.drupal.org/project/twig_vardumper это сработало для меня в Пункты Шаблон Twig, чтобы распечатать удаленный URL-адрес видео на YouTube; управляется в модуле Media ядра Drupal.

{{ параграф.field_media_1.entity.field_media_oembed_video.entity.field_media_oembed_video.value }} 

Заменять field_media_1 с системным именем вашего определенного поля.

флаг gh
круто спасибо! Сумасшедший, как долго некоторые из этих переменных лол
Рейтинг:0
флаг cn

Имя нашего поля field_images и у нас есть это, чтобы отобразить миниатюру нашего видео. Это утверждение if может быть ключом.

{% if content.field_images[0]["#media"].field_media_video_embed_field.0.value %}
  {{ drupal_image(content.field_images[0]["#media"].thumbnail.entity.uri.value, 'ourimagestyle') }}
{% еще %}
  {{ content.field_images[0] }}
{% конец%}
флаг gh
Я просто хочу отобразить ссылку на видео, а не миниатюру, но это полезно знать для будущего использования.
shelane avatar
флаг cn
Что-то в этом есть, хотя `content.field_images[0]["#media"].field_media_video_embed_field.0.value`. Если бы я когда-нибудь смог заставить xdebug работать с twig, было бы легко попытаться проанализировать, как выглядит эта разбивка переменных.
флаг gh
да, кажется, вам нужно очищать кеш каждый раз, когда вы хотите запустить xdebug, и даже в этом случае это не всегда работает. Я пробую модуль https://www.drupal.org/project/twig_vardumper, но тоже не очень помогает. Спасибо, но я присмотрюсь к чему-то подобному!

Ответить или комментировать

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