Bedingt eines von zwei Feldern in der Display Suite anzeigen?

8

Ich frage mich, ob es eine clevere oder bevorzugte Möglichkeit gibt, mit Display Suite eines von zwei Feldern anzuzeigen.

Mein Fall erfordert also entweder ein Bild, wenn es hochgeladen wird, oder einen EVA (Entity Views Anhang). Ich habe beide korrekt angezeigt, und wenn das Bild nicht hochgeladen (nicht ausgefüllt) ist, wird das EVA-Feld gut angezeigt. Aber wenn das Bild hochgeladen wird, möchte ich das EVA-Feld ausblenden.

Ich denke, ich könnte ein benutzerdefiniertes Codefeld erstellen, aber ich möchte dies vermeiden, wenn es eine integrierte Methode gibt, um ein Feld einem anderen vorzuziehen. Vielleicht etwas mit Feldgruppen?

Vielen Dank!

JonMcL
quelle

Antworten:

2

Ihre einzige Option ist ein benutzerdefiniertes Codefeld. Es gab Versuche, bedingte Felder über die Benutzeroberfläche zu ermöglichen, aber es war zu komplex.

Jyve
quelle
1
Das wäre wahrscheinlich eine gute Lösung, aber ich würde es nicht die einzige Option nennen. Ich bin sicher, Sie können den EVA auch vor einer Vorverarbeitungsfunktion ausblenden oder sogar die EVA-Ansicht so konfigurieren, dass sie nichts zurückgibt, wenn ein Bild vorhanden ist.
Marcvangend
4

Verwenden Sie das Feldformatierungsbedingungen-Modul: https://www.drupal.org/project/ffc

Dies gibt Ihnen die gleichen Optionen, die Sie für einen Block haben (und mehr). So können Sie das Feld basierend auf einem beliebigen URL-Muster so anzeigen, als würden Sie blockieren:

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

Ich hoffe das hilft.

jive
quelle
0

Sie können das Entity Display Plugin für die Feld-Benutzeroberfläche für solche Probleme verwenden.

Ich habe es nicht speziell mit EVA versucht, aber es kann unter anderem Ansichtsanzeigen einbetten.

Die Integration des Drilldown-Formulars in das Feld-UI-Formular ist derzeit etwas umständlich, funktioniert aber.

Ich empfehle, auch Cfr Preset zu aktivieren .

Vorbereitung:

  • Aktivieren Sie entdispfieldui
  • Aktivieren Sie optional cfrpreset

Auf der Seite "Anzeige verwalten":

  • Scrollen Sie nach unten und fügen Sie ein EntDisP-Feld hinzu.
  • Verschieben Sie das Feld in eine aktive Region.
  • Klicken Sie unten auf der Seite auf "Speichern".
  • Bearbeiten Sie die Konfiguration für das EntDisP-Feld (klicken Sie auf das Zahnrad).
  • Wählen Sie "Verantwortungskette", dann "Feld mit Formatierer" oder "Bild mit Prozessor".
  • Klicken Sie im Unterformular auf "Aktualisieren".
  • Klicken Sie erneut auf das Zahnrad, um das Formular erneut zu öffnen.
  • Wählen Sie "Ansichten anzeigen .." für "Neues Element". Wählen Sie die Ansichts-ID für Ansichten.
  • Klicken Sie im Unterformular auf "Aktualisieren".
  • Klicken Sie unten auf der Seite auf "Speichern".

Es sollte jetzt funktionieren, aber diese Konfiguration in der Anzeigekonfiguration zu haben, ist chaotisch.

Um dies zu vermeiden, können Sie verwenden cfrpreset.

Auf der Seite "Anzeige verwalten":

  • Klicken Sie erneut auf das Zahnrad.
  • Bewegen Sie den Mauszeiger neben das Drilldown-Auswahlelement für "Entitätsanzeige".
  • Klicken Sie auf "Voreinstellung erstellen" (wird in einer neuen Registerkarte geöffnet).

Auf der Seite "Voreinstellung hinzufügen":

  • Wählen Sie einen Namen für die Voreinstellung.
  • Speichern.

Auf der Seite "Anzeige verwalten":

  • Schließen Sie das Unterformular, falls es noch geöffnet ist.
  • Klicken Sie erneut auf das Zahnrad.
  • Wählen Sie die gerade erstellte Voreinstellung.
  • Klicken Sie im Unterformular auf "Aktualisieren".
  • Klicken Sie unten auf der Seite auf "Speichern".

Optional können Sie die Teilkonfiguration als neue Voreinstellungen exportieren.

Screenshots

Ich hoffe das sind nicht zu viel. Wäre toll, ein Expand / Collapse-Ding zu haben.

EntDisP-Feld hinzufügen.

Fügen Sie ein EntDisP-Feld hinzu.

Konfiguration mit "Feld mit Formatierer".

Konfigurieren Sie das Feld EntDisP.

Alternative Konfiguration mit "Bild mit Prozessor".

Alternative Konfiguration mit "Image with Prozessor".

Als Voreinstellung exportieren.

Optional als Voreinstellung exportieren.

Speichern Sie die Voreinstellung.

Speichern Sie die Voreinstellung.

Verwenden Sie die Voreinstellung anstelle der direkten Konfiguration.

Verwenden Sie die Voreinstellung anstelle der direkten Konfiguration.

Donquijote
quelle