Anzeigen von Feldern aus einer Entitätsreferenz des Felds einer anderen Entität


7

Ich habe drei Inhaltstypen: Kompositionen, Aufnahmen und Künstler. Kompositionen enthalten Entitätsverweise auf Künstler für den Feldkomponisten. Aufnahmen enthalten Entitätsverweise auf Kompositionen für den Feldkomponisten und auf Künstler für den Feldaufnahmekünstler. Das möchte ich tun:

  1. Ich möchte eine Seite mit einer Liste aller Kompositionen und ihres Komponisten anzeigen (Entitätsverweis auf den Inhaltstyp des Künstlers). Kein Problem hier.
  2. Ich möchte ein anderes Feld mit dem Feldaufzeichnungskünstler (ein Entitätsreferenzfeld im Inhaltstyp Aufzeichnung), auf das durch eine Entitätsreferenz für die Zusammensetzung des Inhaltstyps verwiesen wird. Das ist das Problem.

Ich denke, das Hauptproblem ist, dass ich versuche, ein Feld aus der Entitätsreferenz einer Entitätsreferenz aufzurufen. Gibt es eine Möglichkeit, diese Brücke zu bauen?


1
Haben Sie eine alternative Lösung geprüft? drupal.org/project/relation
Codium

Antworten:


1

Sie können benutzerdefinierte Anzeigen verwenden, um Entitätsreferenzfelder auf diese Weise zu verketten (es sei denn, ich verstehe Ihre Anforderungen falsch).

Um dies zu tun...

  1. Installieren Sie das Entity View Mode-Modul .
  2. Erstellen Sie dann in den Ansichtsmodi Konfiguration - System - Entität eine neue Anzeige für die betreffende Entität und stellen Sie sicher, dass sie dem Aufzeichnungstyp zugeordnet ist. Geben Sie Ihrem neuen Display einen selbsterklärenden Namen wie "eingebettete Aufzeichnung", um später Verwirrung zu vermeiden.
  3. Wechseln Sie als Nächstes zu den Einstellungen für den Anzeigemodus Ihres Aufzeichnungsobjekts (z. B. "Anzeige verwalten") und stellen Sie in der neuen Anzeige "Eingebettete Aufzeichnung" sicher, dass das Referenzfeld für das Entitätskünstler-Entitätsobjekt sichtbar ist.
  4. Schließlich gehen Sie auf Ihre Zusammensetzung Unternehmens Anzeigemodus - Einstellungen (seine ‚verwalten Display‘) und für die Aufnahmeeinheit Referenzfeld, wählen gerenderte Einheit als sein Format und wählen Sie „eingebettete Aufnahme“ als Ansichtsmodus (diese Option wird verfügbar , wenn Sie klicken auf dem kleinen Zahnradsymbol auf der rechten Seite).

(Dies wäre natürlich viel einfacher, wenn Sie neue Anzeigemodi aus der Einstellung zum Verwalten der Anzeige hinzufügen könnten! Vielleicht eines Tages ...)


0

Ich habe in letzter Zeit viel Zeit mit einem sehr ähnlichen Problem verbracht, daher ist mir Ihre Frage aufgefallen. Beachten Sie, dass ich neu bei Drupal bin. Nehmen Sie also alles unten mit einem guten Körnchen Salz.

Wenn ich es richtig verstanden habe, möchten Sie die folgende Architektur: Kompositionsreferenzen Aufzeichnung. Aufnahmereferenzen Künstler (nennen wir diesen Aufnahmekünstler).
Und Sie möchten die folgenden Funktionen. Zunächst möchten Sie auf die Felder des Aufnahmekünstlers (z. B. Name) zugreifen, wenn die Entität "Komposition" angegeben ist. Zweitens möchten Sie dem Inhaltsobjekt der Kompositionsentitäten Aufnahmekünstlerfelder hinzufügen, damit es zusammen mit anderen Kompositionsfeldern von Vorlagen ausgedruckt werden kann. Mit anderen Worten, Sie möchten die Felder des Aufnahmekünstlers über das Inhaltsobjekt der Kompositionsentitäten zugänglich machen.

Konsultieren Sie diese sehr schöne Antwort von juhog . Ich glaube, es hängt sehr gut mit dem zusammen, was Sie versuchen zu tun. Es wird erläutert, wie Sie Zugriff auf referenzierte Entitäten erhalten und Felder von referenzierten Entitäten an referenzierende Entitäten anhängen.

Damit habe ich versucht, Sie in die richtige Richtung zu bewegen, weil Ihre Frage verwirrt schien (Sie haben mein Mitgefühl, ich war dort). Ich habe nur begrenzte Erfahrung, daher werde ich keine Codierungsbeispiele nennen.


0

Sie müssen nur eine Beziehung des dritten Inhaltstyps in die Ansicht einfügen und ein Feld dieses Inhaltstyps in Ihrer Feldliste verwenden. Es wird aufgenommen, da beim Hinzufügen einer Beziehungsansicht eine Join-Anweisung in Ihre SQL-Abfrage und eingefügt wird Sie können die Spalten dieser verknüpften Tabelle in Ihrer Ausgabe verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.