Exibir condicionalmente um dos dois campos no Display Suite?

8

Gostaria de saber se existe uma maneira inteligente ou preferida de usar o Display Suite para exibir um dos dois campos.

Portanto, meu caso exige uma imagem, se for carregada, ou um EVA (entidade visualiza o anexo). Eu tenho os dois exibidos corretamente e, é claro, se a imagem não for carregada (despovoada), o campo EVA será exibido corretamente. Mas se a imagem for carregada, quero ocultar o campo EVA.

Acho que poderia criar um campo de código personalizado, mas gostaria de evitar isso se houver um método interno de escolha de um sobre outro campo. Talvez algo com grupos de campo?

Obrigado!

JonMcL
fonte

Respostas:

2

Sua única opção é um campo de código personalizado. Houve tentativas de tornar possíveis campos condicionais por meio da interface do usuário, mas era muito complexo.

Jyve
fonte
11
Provavelmente seria uma boa solução, mas eu não diria que é a única opção. Tenho certeza de que você também pode ocultar o EVA de uma função de pré-processo ou até mesmo configurar a exibição EVA para que não retorne nada se houver uma imagem.
marcvangend
4

Use o módulo de condições do formatador de campo: https://www.drupal.org/project/ffc

Isso lhe dará as mesmas opções que você tem em um bloco (e mais). Assim, você pode mostrar o campo com base em qualquer padrão de URL, como faria com os blocos:

http://cl.ly/image/2A2Y373Y3e1J

Espero que esta ajuda.

jive
fonte
0

Você pode usar o Entity Display Plugin para Field UI para problemas como este.

Eu não tentei especificamente com o EVA, mas ele pode incorporar exibições de visualizações, entre outras coisas.

Atualmente, a integração do formulário de pesquisa detalhada no formulário da interface do campo é um pouco desajeitada, mas funciona.

Eu recomendo também ativar a predefinição de CFR .

Preparação:

  • Ativar entdispfieldui
  • Ativar opcionalmente cfrpreset

Na página "Gerenciar exibição":

  • Role para baixo, adicione um campo EntDisP.
  • Mova o campo para uma região ativa.
  • Clique em "Salvar" na parte inferior da página.
  • Edite a configuração do campo EntDisP (clique na roda dentada).
  • Escolha "Cadeia de responsabilidade" e, em seguida, "Campo com formatador" ou "Imagem com processador".
  • Clique em "Atualizar" no sub-formulário.
  • Clique na roda dentada novamente para abrir o formulário novamente.
  • Escolha "Visualizações de exibição .." para "Novo item". Escolha o ID de exibição das visualizações.
  • Clique em "Atualizar" no sub-formulário.
  • Clique em "Salvar" na parte inferior da página.

Deve funcionar agora, mas ter essa configuração na configuração da tela é uma bagunça.

Para evitar isso, você pode usar cfrpreset.

Na página "Gerenciar exibição":

  • Clique na roda dentada novamente.
  • Passe o mouse ao lado do elemento de seleção da pesquisa detalhada para "Exibição da entidade".
  • Clique em "Criar uma predefinição" (abre em uma nova guia).

Na página "Adicionar predefinição":

  • Escolha um nome para a predefinição.
  • Salve .

Na página "Gerenciar exibição":

  • Feche o sub-formulário, se ainda estiver aberto.
  • Clique na roda dentada novamente.
  • Escolha a predefinição que você acabou de criar.
  • Clique em "Atualizar" no sub-formulário.
  • Clique em "Salvar" na parte inferior da página.

Opcionalmente, você pode exportar a configuração parcial como novas predefinições.

Screenshots

Espero que não sejam demais. Seria ótimo ter uma coisa de expandir / contrair.

Adicionar campo EntDisP.

Adicione um campo EntDisP.

Configuração com "Campo com formatador".

Configure o campo EntDisP.

Configuração alternativa com "Imagem com processador".

Configuração alternativa usando "Imagem com processador".

Exportar como predefinido.

Opcionalmente, exporte como uma predefinição.

Salve a predefinição.

Salve a predefinição.

Use a predefinição em vez da configuração no local.

Use a predefinição em vez da configuração no local.

Don Quixote
fonte