Como adicionar uma descrição a um campo de imagem?

8

Eu tenho um tipo de conteúdo que possui um campo do tipo de campo de imagem .

Ao editar este campo, vejo que posso:

Enable Alt field

e também pode:

Enable Title field

Existe alguma maneira de adicionar um campo Descrição a ser mostrado em cada imagem.

chefnelone
fonte

Respostas:

3

Uma outra opção a considerar e pode não funcionar para você é usar o módulo EXIF ​​e fazer com que ela pegue automaticamente a legenda EXIF, e você poderá fazer o upload em massa usando algo como: Widget de campo de imagem multiupload Você simplesmente adiciona um campo EXIF que captura os dados da imagem e executa drif exif-update, mas não tenho certeza se isso se encaixa no seu caso de uso, é puramente dependente das imagens que incorporaram dados EXIF ​​(por exemplo, do Adobe Lightroom ou iPhoto).

É principalmente como eu construí meu novo site, o High Rock Photo, mas apenas com imagens únicas no meu caso, mas acho que seria extensível com o Widget Multiupload Imagefield. Só pensei em jogá-lo lá fora.

Aqui está a minha receita:

  • Módulo de título (converte o título tradicional em um campo para que você possa fazer coisas com ele).
  • Símbolo
  • Nodetitles automáticos
  • Exif

  • Você adicionaria o Multiupload Imagefield Widget como mencionado acima. Eu usei este módulo, mas não dentro desta receita exata.

Essencialmente, o que fiz foi usar o módulo Título e substituir o título tradicional para que você possa defini-lo como não obrigatório. Use Nodetitles automáticos para pegar um token dos dados Exif da imagem e usá-lo como um título automático. Observe que você realmente pode usar os dados Exif para qualquer campo a ser exibido, assim você pode nem precisar fazer o absurdo de substituir o título inteiro. Se eu tiver algum tempo, executarei um teste usando o widget Multi upload. Para a descrição da minha imagem, eu uso o Exif iptc_captionda minha imagem.

Observe que existe um bug (ainda não corrigido ou respondido pelo mantenedor) para o Exif que faz com que você execute exush-update drush sempre que salvar um nó novamente. Não é ideal.

Danny Englander
fonte
3

Para fazer isso, você precisará adicionar outra coluna ao tipo de campo, para o qual não há suporte nativo atualmente.

Você não está sozinho em querer essa funcionalidade (eu definitivamente gostaria) e há um patch que adiciona uma hook_field_schema_alter()função ao módulo de campo, que você pode usar para adicionar colunas extras. Eu não tentei, mas os comentários e testes no link acima parecem sugerir que funciona.

Lembre-se de que, se você seguir esse caminho, também precisará implementar alguns outros ganchos ( hook_field_widget_form_alter()por exemplo), para que não seja uma solução rápida.

Se você não está disposto a aplicar o patch core, pode querer usar o módulo Field Collection para realizar algo semelhante. Você pode adicionar um item de coleção que contém um widget de imagem e um widget de área de texto para obter basicamente o mesmo efeito (embora haja um impacto muito leve no desempenho).

Clive
fonte
11
Sim, a opção Coleta de campo funciona. Eu realmente nunca notei um impacto no desempenho. Trabalhar com eles pode ser um pouco doloroso, no entanto. Retrabalhar a marcação também pode ser um pouco difícil.
mpdonadio
11
Também pensei em Field Collection, mas preciso fazer upload de 100 imagens. Eu posso fazer isso de uma só vez com o campo de imagem e o módulo multiupload_imagefield_widget. Se eu usar a coleção de campos, preciso fazer upload de todas as imagens manualmente.
26612 chefnelone
Hmm, parece que corrigir o módulo de campo é a única maneira de você conseguir fazer isso #
Clive
+1 para a coleção de campos, acho que seria ótimo para isso.
Danny Englander
Entendo, vou tentar encontrar outra maneira de fazer isso.
26612 chefnelone
3

Esse problema me inspirou a criar o módulo Image Field Caption para o Drupal 7.

O módulo adiciona uma área de texto extra, semelhante aos campos de texto alt / title, para campos de imagem. A área de texto da legenda pode ser usada para adicionar texto simples ou uma descrição html a um campo de imagem.

  1. Faça o download do módulo
  2. Ativar o módulo
  3. Adicione um tipo de conteúdo com um campo de imagem ou use um tipo de conteúdo existente com um campo de imagem
  4. Adicionar ou editar um nó com um campo de imagem
  5. Digite texto ou html na área de texto da legenda do campo de imagem
  6. Salve o nó e visualize-o para ver a legenda exibida abaixo do campo de imagem

Para personalizar a exibição da legenda, faça uma cópia do arquivo image_field_caption.tpl.php e coloque-o no diretório do seu tema, por exemplo:

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

Agora você pode modificar o html para atender às suas necessidades.

tyler.frankenstein
fonte
Depois de ativar este módulo, a área de texto da legenda não aparece. Eu limpei o cache. Estou tentando adicionar a legenda a um campo de imagem existente em um tipo de conteúdo existente com o conteúdo existente.
Randell
Atualização: observe que apenas não funciona ao usar o tipo de widget Navegador de Mídia para imagem.
Randell 14/05
@Randell por favor notifique a fila questão aqui: drupal.org/project/issues/image_field_caption
tyler.frankenstein
1

Também para adicionar legenda à imagem, existe algum módulo

Legenda da imagem

DESCRIÇÃO:

Este módulo usa o JQuery para adicionar dinamicamente legendas às imagens. O atributo title da imagem é usado para criar a legenda. Basicamente, agrupa a imagem em uma div de contêiner html, pega o texto do título da imagem e anexa-o em uma div filho abaixo da imagem. Tecnicamente, ele funciona implementando o hook_nodeapi do Drupal para adicionar um pequeno trecho de jquery do legenda à seção principal da página quando um nó do tipo configurado é exibido.

Legenda do campo de imagem

Descrição: adiciona uma área de texto extra para legendas nos campos de imagem.

Semelhante aos campos de texto alternativo e de título disponíveis com um campo de imagem, a área de texto da legenda pode ser usada para inserir descrições de texto ou html de uma imagem.

JCaption

Descrição: este é um módulo simples para o Drupal 7.x que usa o jQuery para transformar o atributo TITLE ou ALT de uma imagem em uma legenda. Há uma página de configurações com muitas configurações possíveis. A legenda da imagem não será exibida no editor WYSIWYG, mas ficará visível quando você visualizar o nó.

O módulo difere de várias maneiras dos módulos semelhantes.

Yusef
fonte