Рейтинг:3

Как добавить подписи к элементам медиатеки?

флаг tz

Кто-нибудь знает, как связать подпись с изображением, которое загружается в поле медиатеки? Я могу отобразить имя файла, но не понимаю, как связать подпись с изображением. У меня есть файл библиотеки изображений, позволяющий загружать в него неограниченное количество элементов, поэтому я могу получить массив изображений, возвращаемый при отображении его в моем блоке построителя макета. Я получил css для стилизации массива изображений в формате сетки, но теперь мне нужно каким-то образом включить связанное поле с изображением, которое содержит текст подписи. Я попытался создать представление, но смог получить все изображения в библиотеке изображений только со всех узлов, которые загрузили изображения, а не только изображения, загруженные на определенный узел, который просматривался как контекст или отношение в расширенном разделе форма просмотра. Поскольку изображение, однажды загруженное в медиатеку, похоже, не имеет никакого отношения к узлу, в который оно загружено, и я могу фильтровать или сортировать его для контекстного соединения. Кто-нибудь написал или знает о дополнительном модуле, который добавляет ассоциацию поля подписи к изображению или, если уж на то пошло, к любому другому типу мультимедиа, загруженному в медиатеку?

флаг ru
Просто напишите подпись в поле имени. Имя файла — это просто значение по умолчанию для поля имени, нет технической необходимости сохранять имя файла в поле имени.
Рейтинг:4
флаг nr

Короткий ответ: да, вы можете заставить Drupal ассоциировать подписи с изображениями медиатеки.

Более длинный ответ: есть по крайней мере два разных угла, чтобы подойти к этому.

Подход №1: Медиа-сущности доступны для заполнения, как и любые другие сущности, поэтому вы можете добавить поле «Заголовок» к самой медиа-сущности.

Перейти к /admin/структура/медиа/управление/изображение/поля и нажмите «Добавить поле», чтобы добавить заголовок для объектов медиа-изображения.

Не забудьте настроить отображение формы (/admin/структура/медиа/управление/изображение/форма-дисплей) и дисплей (/admin/структура/медиа/управление/изображение/отображение) на ваш вкус.

При необходимости вы можете настроить различные режимы просмотра с пользовательскими настройками отображения, а также переопределить шаблон Twig, чтобы управлять компоновкой объекта медиа-изображения.

Предостережения к подходу № 1: Этот подход означает, что заголовок связан с медиа-изображением, поэтому, если вы используете объект медиа-изображения на нескольких страницах, редактирование заголовка изменит заголовок везде — что удобно, если это именно то, что вы хотите, но неудобно, если это не так. вызывает неожиданные побочные эффекты. Это также означает, что поле заголовка не может быть легко отредактировано при редактировании узла, на котором используется изображение мультимедиа.

Подход №2: Одним из распространенных способов обхода этих недостатков является объединение поля ссылки на объект мультимедийного изображения с полем заголовка в пакет из нескольких полей с использованием чего-то вроде Пункты (другие варианты включают коллекцию полей или набор конструктора сущностей). Это позволит пользователям редактировать заголовок при редактировании узла, на котором отображается абзац. Это также позволяет вам иметь разные подписи каждый раз, когда используется медиа-изображение.

Предостережения для подхода № 2: Этот подход требует дополнительных модулей; сделать это в ядре Drupal теоретически возможно, создав собственный тип контента с полем ссылки на медиаобъект и полем заголовка, но UX будет не таким приятным.

Подход № 3: Наконец, я должен отметить, что два варианта могут быть объединены. С помощью продуманных условий Twig вы можете использовать в шаблоне абзаца значение, указанное в поле «Переопределение заголовка» в абзаце, если оно доступно, или вернуться к глобальному заголовку по умолчанию, предоставленному полем в самом медиаобъекте.

Michael McGinn avatar
флаг tz
Это было очень полезно. После того, как я реализовал это, я попытался добавить медиа-поле к изображению, чтобы я мог также прикрепить к нему другой медиа-элемент. У меня было поле типа внешнего видео носителя, к которому я хотел прикрепить стенограмму в формате pdf, так что это было очень полезно.
hotwebmatter avatar
флаг nr
Вы можете свести эти дополнительные поля к минимуму, если только вы не уверены, что _никогда_ не будете использовать объект Media Image, к которому _не_ прикреплено видео. Представьте, что вы художник, и различные типы сущностей — это цвета. Вы только что налили немного красной краски в ведерко с зеленой краской для «удобства», и теперь вы никогда не сможете нарисовать зеленое дерево, не получив клетчатых листьев. Сделайте себе одолжение и проверьте Paragraphs, прежде чем вы испортите все свои типы мультимедиа таким образом!
Michael McGinn avatar
флаг tz
Это очень важный момент, который следует принять во внимание. Это то, что я учел, когда добавлял дополнительное поле для pdf. Поэтому я оставил необязательным загружать pdf в поле. С альтернативными требованиями к медиа для удовлетворения требований 504 и более широкого соответствия 508 для видео мне нужен был простой способ предоставить описательную стенограмму для видеоресурсов. Я согласен, что это решение подойдет не каждому, но оно работает для моих нужд.
Michael McGinn avatar
флаг tz
В качестве преимущества, однажды опубликованного в узле, если я когда-нибудь захочу добавить PDF-файл позже, легко отредактировать поле и добавить его. Выигрыш для меня в этот момент заключается в том, что везде, где был размещен этот медиафайл, обновленный файл будет мгновенно получен с помощью одной операции. Превосходит обновление нескольких узлов, у которых есть поле изображения с загруженным в него изображением.
hotwebmatter avatar
флаг nr
Это хорошо. Похоже, что в вашем случае вы действительно выиграете от того, что ваши поля будут тесно связаны с объектом Media, поэтому вы можете обновить PDF один раз и применить изменения везде. Что хорошо в Drupal, так это то, что он достаточно гибкий, чтобы его можно было использовать по-разному!

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

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