Как добавить описание в поле изображения?

8

У меня есть тип контента, который имеет поле типа поля изображения .

При редактировании этого поля я вижу, что могу:

Enable Alt field

а также может:

Enable Title field

Есть ли способ добавить поле описания для отображения под каждым изображением.

chefnelone
источник

Ответы:

3

Еще один вариант, который можно рассмотреть и который может не сработать для вас, - это использовать модуль EXIF, чтобы он автоматически захватывал заголовок EXIF, и тогда вы можете приступить к массовой загрузке, используя что-то вроде: Multiupload Imagefield Widget Затем вы просто добавляете в поле EXIF он захватывает данные изображений и запускает drush exif-update, но я не уверен, подходит ли он вашему варианту использования, он просто зависит от изображений, содержащих встроенные данные EXIF ​​(например, из Adobe Lightroom или iPhoto).

Это прежде всего то, как я создал свой новый сайт, High Rock Photo, но только с отдельными изображениями в моем случае, но я думаю, что его можно расширить с помощью виджета Multiupload Imagefield. Просто думал, что я выброшу это там.

Вот мой рецепт:

  • Модуль заголовка (преобразует традиционное название в поле, чтобы вы могли с ним что-то делать).
  • знак
  • Автоматические нодититлы
  • Exif

  • Вы бы добавили Multiupload Imagefield Widget, как указано выше. Я использовал этот модуль, но не в рамках этого точного рецепта.

По сути, я использовал модуль «Заголовок» и заменил традиционный заголовок, чтобы затем установить его на «Не требуется». Используйте Auto Nodetitles, чтобы получить токен из данных Exif из изображения и использовать его в качестве автоматического заголовка. Обратите внимание, что вы действительно можете использовать данные Exif для любого отображаемого поля, поэтому вам даже не нужно делать всю бессмысленную замену заголовка. Если у меня будет время, я проведу тест с этим с использованием виджета Multi upload. Для описания моего изображения я использую Exif iptc_captionиз моего изображения.

Обратите внимание, что в Exif есть ошибка (еще не исправленная или не получившая ответа от сопровождающего), которая заставляет вас запускать drush exif-update каждый раз, когда вы сохраняете узел. Не идеально.

Дэнни Энгландер
источник
3

Для этого вам нужно добавить еще один столбец к типу поля, который в настоящее время не имеет встроенной поддержки.

Вы не одиноки в желании этой функциональности (я определенно хотел бы это), и есть патч, который добавляет hook_field_schema_alter()функцию к модулю поля, которую вы можете использовать для добавления дополнительных столбцов. Я не пробовал, но комментарии и тесты по вышеуказанной ссылке, похоже, показывают, что это работает.

Имейте в виду, что если вы пойдете по этому маршруту, вам также придется реализовать несколько других перехватчиков ( hook_field_widget_form_alter()например), чтобы это не было быстрым решением.

Если вы не готовы вносить исправления в ядро, вы можете просто использовать модуль Field Collection для выполнения чего-то подобного. Вы можете добавить элемент коллекции, содержащий виджет изображения и виджет текстовой области, чтобы в основном достичь того же эффекта (хотя это оказывает небольшое влияние на производительность).

Клайв
источник
1
Да, опция Field Collection работает. Я никогда не замечал влияния на производительность. Однако работать с ними может быть немного больно. Переработка разметки тоже может быть немного грубой.
mpdonadio
1
Я также подумал о Field Collection, но мне нужно загрузить 100 изображений. Я могу сделать это сразу с полем изображения и модулем multiupload_imagefield_widget. Если я использую коллекцию полей, мне нужно загрузить каждое изображение вручную.
Chefnelone
Хм, похоже, что исправление полевого модуля - единственный способ, которым вы сможете это сделать
Клайв
+1 для Полевой Коллекции, я думаю, что это отлично сработает.
Дэнни Энгландер
Понятно, я попытаюсь найти другой способ сделать это.
Chefnelone
3

Эта проблема вдохновила меня на создание модуля Подпись поля изображения для Drupal 7.

Модуль добавляет дополнительную текстовую область, аналогичную текстовым полям alt / title, для полей изображения. Текстовую область заголовка можно использовать для добавления простого текста или описания html в поле изображения.

  1. Скачать модуль
  2. Включить модуль
  3. Добавьте тип контента с полем изображения или используйте существующий тип контента с полем изображения
  4. Добавить или изменить узел с полем изображения
  5. Введите текст или HTML в текстовую область заголовка поля изображения
  6. Сохраните узел и просмотрите его, чтобы увидеть заголовок, отображаемый под полем изображения

Чтобы настроить отображение заголовка, возьмите копию файла image_field_caption.tpl.php и поместите ее в каталог вашей темы, например:

sites/all/themes/MY_THEME/image_field_caption.tpl.php

Теперь вы можете изменить HTML, чтобы удовлетворить ваши потребности.

tyler.frankenstein
источник
После включения этого модуля текстовая область заголовка не отображается. Я очистил кеш. Я пытаюсь добавить заголовок к существующему полю изображения в существующем типе контента с существующим контентом.
Рэнделл
Обновление: только что заметил, что это не работает только при использовании типа виджета Media Browser для изображения.
Рэнделл
@Randell, пожалуйста, сообщите об этой проблеме здесь: drupal.org/project/issues/image_field_caption
tyler.frankenstein
1

Также для добавления подписи к изображению есть некоторый модуль

Заголовок изображения

ОПИСАНИЕ:

Этот модуль использует JQuery для динамического добавления подписей к изображениям. Атрибут заголовка изображения используется для создания подписи. Он в основном оборачивает изображение в HTML-контейнер div, берет текст заголовка изображения и добавляет его в дочерний div под изображением. Технически, он работает, реализуя hook_nodeapi в Drupal, чтобы добавить один маленький фрагмент jquery captioner в раздел заголовка страницы при просмотре узла настроенного типа.

Заголовок поля изображения

Описание: добавляет дополнительную текстовую область для подписей к полям изображения.

Подобно текстовым полям alt и title, доступным в поле изображения, область текста заголовка может использоваться для ввода текстовых или html-описаний изображения.

JCaption

Описание: Это простой модуль для Drupal 7.x, который использует jQuery для преобразования атрибута TITLE или ALT изображения в заголовок изображения. Есть страница настроек с множеством возможных настроек. Заголовок изображения не будет отображаться в WYSIWYG-редакторе, но будет виден при просмотре узла.

Модуль несколько отличается от аналогичных модулей.

Yuseferi
источник
0

Если вы хотите использовать поле заголовка в качестве описания, вы можете использовать модуль Image Caption или Image Caption Formatter . Есть просьба включить что-то подобное в ядро ​​для D8. Он будет основан на теге заголовка html5.

fietserwin
источник