Почему я не могу добавить другое разрешенное расширение файла в поле изображения Drupal 7?


12

Я добавил расширение SVG для загрузки изображений через admin/structure/types/manage/image/fields/gallery_image, как вы видите ниже:

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

Но когда я загружаю изображение, мне все равно не разрешается загружать SVG.

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

Я определенно нажал «Сохранить» на странице администратора, и я очистил кеш, и я даже вижу настройки, как я хотел их в базе данных, когда я проверяю field_config_instanceтаблицу. Должна быть какая-то другая таблица или кеш, который не обновляется. Любая идея?

Ответы:


7

Изображение виджет внутри позволяет (и молча навязывает размещать Drupal 6) использование только png, gif, jpgи / или jpegрасширения. Таким образом, хотя вы можете удалить расширение из поля, например, я удалил gifиз большинства моих реализаций, чтобы избежать анимации, вы не можете добавить его в этот список. Я полагаю, это потому, что оно само по себе отображает изображение после загрузки и не хотело разбивать какие-либо дисплеи в старых браузерах IE в реальной форме (плюс, кто знает, как стили изображений будут работать на них :)


Хороший ответ, но как жаль.
Джо Корнели

2
Обсуждение дел здесь: drupal.org/node/1014816
Джо Корнели,

2

Вы можете просто использовать файловое поле и внедрить его hook_field_formatter_info_alterв свой пользовательский модуль, чтобы включить средство форматирования «Изображение» и для файловых полей. Затем вы можете легко вывести загруженный SVG как встроенное изображение.

/**
 * Implements hook_field_formatter_info_alter().
 */
function MODULNAME_field_formatter_info_alter(&$info) {
  $info['image']['field types'][] = 'file';
}

2

Как уже отмечалось, нет простого способа просто позволить базовому модулю Image Drupal принимать SVG. Вместо этого вы можете использовать предоставленный модуль SVG Embed (неохотно выбранный над полем файла для SVG в этом обсуждении ) или этот модуль песочницы (официально не выпущенный) SVG .

ОБНОВЛЕНИЕ: теперь я рекомендую svgimg также в Песочнице, но, вероятно, скоро выйдет. Используя его в производстве, очень доволен.


1

Есть и другой способ - использование медиа- модуля. Как только это установлено, формат SVG может быть добавлен в admin / structure / file-types, под изображением.

Если я не ошибаюсь, Drupal по-прежнему не разрешает SVG по умолчанию из-за проблем с обратной совместимостью (в первую очередь IE8 и ниже). Я уже некоторое время размещаю SVG на проектах, и пока не услышал жалобу.


Не уверен, что это правильный путь, но Медиа определенно решает эту проблему.
Цифровой с

Для записи я создал новый тип, названный SVG, который является отличным способом настроить вывод и позволить вам иметь другой вывод для изображений
shaneonabike
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.