Afficher conditionnellement l'un des deux champs dans Display Suite?

8

Je me demande s'il existe un moyen intelligent ou préféré d'utiliser Display Suite pour afficher l'un des deux champs.

Mon cas appelle donc soit une image, si elle est téléchargée, soit un EVA (entité vues pièce jointe). Je les ai tous deux affichés correctement, et bien sûr, si l'image n'est pas téléchargée (non peuplée), le champ EVA s'affiche correctement. Mais si l'image est téléchargée, je veux masquer le champ EVA.

Je suppose que je pourrais faire un champ de code personnalisé, mais j'aimerais éviter cela s'il y a une méthode intégrée de choisir l'un sur un autre champ. Peut-être quelque chose avec des groupes de terrain?

Merci!

JonMcL
la source

Réponses:

2

Votre seule option est un champ de code personnalisé. Il y a eu des tentatives pour rendre les champs conditionnels possibles via l'interface utilisateur, mais c'était trop complexe.

Jyve
la source
1
Ce serait probablement une bonne solution, mais je n'appellerais pas cela la seule option. Je suis sûr que vous pouvez également masquer l'EVA d'une fonction de prétraitement, ou même configurer la vue EVA afin qu'elle ne retourne rien si une image est présente.
marcvangend
4

Utilisez le module des conditions du formateur de champs: https://www.drupal.org/project/ffc

Cela vous donnera les mêmes options que vous avez sur un bloc (et plus). Vous pouvez donc afficher le champ en fonction de n'importe quel modèle d'URL comme vous le feriez pour les blocs:

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

J'espère que cette aide.

swing
la source
0

Vous pouvez utiliser le plug-in d'affichage d'entité pour l'interface utilisateur de champ pour des problèmes comme celui-ci.

Je ne l'ai pas essayé spécifiquement avec EVA, mais il peut intégrer des affichages de vues, entre autres.

L'intégration du formulaire de drilldown dans le formulaire d'interface utilisateur de champ est actuellement un peu maladroite, mais cela fonctionne.

Je recommande également d'activer Cfr Preset .

Préparation:

  • Activer entdispfieldui
  • Activer éventuellement cfrpreset

Sur la page "Gérer l'affichage":

  • Faites défiler vers le bas, ajoutez un champ EntDisP.
  • Déplacez le champ vers le haut dans une région active.
  • Cliquez sur "Enregistrer" en bas de la page.
  • Modifiez la configuration du champ EntDisP (cliquez sur la roue dentée).
  • Choisissez "Chaîne de responsabilité", puis "Champ avec formateur" ou "Image avec processeur".
  • Cliquez sur "Mettre à jour" sur le sous-formulaire.
  • Cliquez à nouveau sur la roue dentée pour ouvrir à nouveau le formulaire.
  • Choisissez "Affichage des vues .." pour "Nouvel élément". Choisissez l'ID d'affichage des vues.
  • Cliquez sur "Mettre à jour" sur le sous-formulaire.
  • Cliquez sur "Enregistrer" en bas de la page.

Cela devrait fonctionner maintenant, mais avoir cette configuration dans la configuration d'affichage est compliqué.

Pour éviter cela, vous pouvez utiliser cfrpreset.

Sur la page "Gérer l'affichage":

  • Cliquez à nouveau sur la roue dentée.
  • Passez la souris à côté de l'élément de sélection pour "Affichage de l'entité".
  • Cliquez sur "Créer un préréglage" (s'ouvre dans un nouvel onglet).

Sur la page "Ajouter un préréglage":

  • Choisissez un nom pour le préréglage.
  • Sauver.

Sur la page "Gérer l'affichage":

  • Fermez le sous-formulaire, s'il est toujours ouvert.
  • Cliquez à nouveau sur la roue dentée.
  • Choisissez le préréglage que vous venez de créer.
  • Cliquez sur "Mettre à jour" sur le sous-formulaire.
  • Cliquez sur "Enregistrer" en bas de la page.

En option, vous pouvez exporter la configuration partielle en tant que nouveaux préréglages.

Captures d'écran

J'espère que ce n'est pas trop. Ce serait génial d'avoir un truc de développement / effondrement.

Ajouter un champ EntDisP.

Ajoutez un champ EntDisP.

Configuration avec "Champ avec formateur".

Configurez le champ EntDisP.

Configuration alternative avec "Image avec processeur".

Configuration alternative utilisant "Image avec processeur".

Exporter en tant que préréglage.

Vous pouvez éventuellement exporter en tant que préréglage.

Enregistrez le préréglage.

Enregistrez le préréglage.

Utilisez le préréglage au lieu de la configuration sur place.

Utilisez le préréglage au lieu de la configuration sur place.

don Quichotte
la source