Por que não consigo adicionar outra extensão de arquivo permitida a um campo de imagem do Drupal 7?


12

Adicionei a extensão de arquivo SVG para upload de imagens via admin/structure/types/manage/image/fields/gallery_image, como você pode ver abaixo:

insira a descrição da imagem aqui

Mas quando vou carregar uma imagem, ainda não tenho permissão para carregar SVG.

insira a descrição da imagem aqui

Definitivamente, pressionei "Salvar" na página de administrador, limpei o cache e até vejo as configurações como queria no banco de dados, quando inspeciono a field_config_instancetabela. Deve haver alguma outra tabela ou cache que não esteja sendo atualizada. Qualquer ideia?

Respostas:


7

A imagem permite Widget internamente (e aplica silenciosamente postar Drupal 6) o uso de apenas os png, gif, jpge / ou jpegextensões. Portanto, enquanto você pode remover uma extensão de um campo, por exemplo, removi a gifmaioria das minhas implementações para evitar qualquer coisa animada, você não pode adicionar nenhuma a esta lista. Eu imagino que isso ocorre porque ele próprio exibe a imagem após o upload e não deseja interromper nenhuma exibição nos navegadores IE mais antigos na forma real (além disso, quem sabe como os estilos de imagem também funcionariam neles :)


Boa resposta, mas que pena.
quer

2
Uma discussão sobre fazer está aqui: drupal.org/node/1014816
Joe Corneli

2

Você pode simplesmente usar um campo de arquivo e implementar hook_field_formatter_info_alterem seu módulo personalizado para ativar o formatador "Imagem" também para campos de arquivo. Em seguida, você pode enviar facilmente o SVG carregado como imagem incorporada.

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

2

Como observado, não há uma maneira fácil de simplesmente permitir que o módulo de imagem principal do Drupal aceite SVG. Em vez disso, você pode usar o módulo contribuído SVG Embed (escolhido de má vontade sobre um campo de arquivo para SVG nesta discussão ) ou este módulo SVG de sandbox (não lançado oficialmente) .

ATUALIZAÇÃO: Agora eu recomendo o svgimg também no Sandbox, mas provavelmente será lançado em breve. Usá-lo na produção e muito feliz.


1

Há também outra maneira de contornar isso - usando o módulo Mídia . Uma vez instalado, o formato SVG pode ser adicionado em admin / structure / file-types, em image.

Se não me engano, o Drupal ainda não permite SVGs por padrão devido a questões de compatibilidade com versões anteriores (principalmente IE8 e abaixo). Eu venho colocando SVGs há algum tempo em projetos, e ainda tenho que ouvir uma reclamação.


Não tenho certeza se esse é o caminho certo, mas a mídia é definitivamente o caminho a seguir com esse problema.
digitgopher

Para o registro, eu criei um novo tipo chamado SVG que é uma ótima maneira de personalizar a saída e permitir que você tenha uma saída diferente para imagens
shaneonabike
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.