Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Contenttype A und Contenttype B über ID verbinden

Eingetragen von nomainstream (7)
am 19.06.2016 - 19:06 Uhr in
  • Views
  • Drupal 7.x

Hallo Forum,

dies ist mein erster Post hier, daher ersteinmal ein freundliches Hallo in die Runde :)

Mein Problem ist folgendes: ich habe eine Tabelle, die ich über einen View erzeuge. Dort werden nodes aus Contenttype A ausgegeben.
Nun will ich eine neue Spalte hinzufügen, welche passende Werte aus Contenttype B enthält.

Beide Contenttypes haben das gemeinsame Feld spkid. Ich weiß schon, dass ich mit Relations und Contextual Filters arbeiten muss. Aber bei den konkreten Einstellungen komm ich nicht weiter.

Wie kann ich einen Contextual Filter hinzufügen, der die Daten aus Contenttype B hinzufügt, wenn spkid = spkid ist?
Es soll also eine Verknüpfung über das Feld "spkid" hergestellt werden, in beiden Contenttypes verwende ich das selbe Feld "spkid".

Kann mir jemand weiterhelfen? Bin für jeden Tipp dankbar!

Ich verwende übrigens die Views Version 3.13.

Viele Grüße,
nomainstream

‹ Formular (Webform) wird in der Ausgabe des Views nicht mehr angezeigt... Contenttype A und Contenttype B über ID verbinden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

du brauchst dafür

Eingetragen von ronald (3857)
am 19.06.2016 - 19:23 Uhr

entity, Entity_reference und entity UI.

Entity und entity UI sind in einem Modulpaket (entity) enthalten, und entity_reference ist nochmals ein Modul.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Ronald, danke schonmal für

Eingetragen von nomainstream (7)
am 19.06.2016 - 19:35 Uhr

Hi Ronald,

danke schonmal für die Tips. Hab mir die Module installiert.
Und wie kann ich dann über die id die Contenttypes verknüpfen?

Es geht um tausende Nodes, daher kann ich nicht bei jedem händisch ein Referenzfeld befüllen...

Viele Grüße,
nomainstream

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es muss doch einen Weg geben

Eingetragen von nomainstream (7)
am 19.06.2016 - 19:38 Uhr

Es muss doch einen Weg geben die Nodes über die ID zu verknüpfen?!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Search API mit Custom Module

Eingetragen von C_Logemann (912)
am 19.06.2016 - 21:29 Uhr

Mir ist das genaue Szenario noch nicht klar. Wichtig wäre vor allem auch zu wissen, ob sicher gestellt ist, daß es wirklich nur zwei Nodes mit dieser ID gibt usw. Das gemeinsam genutzte ID-Feld für zwei Content-Typen lässt sich natürlich in einer Datenbank-Abfrage verbinden. Aber Views kann von Haus nicht alle möglichen Szenarien abbilden. Bei den Relations, die im Hintergrund dann zu Tabellen Joins führen,muss es hat ein Modul geben, das Views diese Ansätze nahelegt. Das macht z.B. das erwähnte Entityreference-Modul.
In diesem Fall könnte vllt. eine kleine Individual-Programmierung Sinn machen, die Views diese besondere Situation "erklärt".

nomainstream schrieb

Es geht um tausende Nodes, daher kann ich nicht bei jedem händisch ein Referenzfeld befüllen...

Das muss nicht unbedingt händisch passieren. Man kann mit Rules kleine Daten-Helfer erstellen, die man wiederum mit Views Bulk Operations (VBO) dann massenhaft anwenden kann.

Bei tausenden Node sollte man vllt. anfangen zu überlegen, daß eine Views-Lösung zur Anzeige nicht direkt auf der Datenbank aufsetzen sollte. Hier wäre dann eine Lösung auf der Basis von Search API sinnvoll, auf die dann Views zugreifen kann. Allerdings nur zur Anzeige der Daten und nicht zur komplexen Suche in den Daten aus dem SAerach API Suchindex.
Das Problem des Daten-Joins wäre damit in den Indexierungsvorgang verlegt müsste dann aber auch mit einer kleineren Programmierung in einem Custom Modul geschehen (das habe ich schon häufiger gemacht). Damit kann dann zeitgleich die besondere Anforderung erfüllen und schon mal den ersten Schritt zu einer performanteren Strategie. Diese könnte man dann bei Bedarf später auch auf Apache Solr als Such Backend für den Index erweitern und wäre dabei bei einer Highperformance Lösung.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo C_logemann,danke für

Eingetragen von nomainstream (7)
am 19.06.2016 - 21:50 Uhr

Hallo C_logemann,

danke für Deine Tips, das hat mich schon weitergebracht.

Das genaue Szenario sieht so aus, dass es von Contenttype B jeweils mehrere Nodes gibt, die über das Feld spkid auf EINE Node von Contenttype A verweisen.
Genauer gesagt gibt es genau 4 Nodes von CT B, die auf A verweisen. Diese 4 möchte ich in je einer Spalte in der Tabelle darstellen.

Der Hinweis auf das Rules Module und Views Bulk Operations ist sehr hilfreich, das werde ich mir jeweils genauer angucken.

Bezüglich der Performance ist es so, dass auf der Website nur jeweils maximal ca 100 Zeilen der Tabelle geladen werden. Daher hoffe ich, dass Views von der Performance her dafür ausreicht.

Vielen Dank für die Hinweise bisher.

Viele Grüße,
nomainstream

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie einen View mit allen referenzierten Nodes erstellen?

Eingetragen von nomainstream (7)
am 24.06.2016 - 17:45 Uhr

Hallo,

C_Logemann, Dein Tipp

Zitat:

Das muss nicht unbedingt händisch passieren. Man kann mit Rules kleine Daten-Helfer erstellen, die man wiederum mit Views Bulk Operations (VBO) dann massenhaft anwenden kann.

hat mich sehr weitergebracht. Ich habe nach 3 Tagen Tutorials gucken & lesen mir zwei Rule Components erstellen können, die mittels einem VBO jeder passenden Node von Contenttype B eine Entity Reference auf Contenttype A erstellen. Leider ist die Berechnung offenbar aufwendig und es wird wohl noch ein paar Tage dauern, bis alle 6000 Nodes berechnet sind :D Aber das macht nichts.

Meine Frage ist jetzt im Grunde wieder die Ausgangsfrage: wie kann ich mir einen View erstellen, der alle Nodes von CT A in einer Tabelle ausgibt und dazu die passenden Nodes von CT B in 4 Spalten anzeigt?
Ich habe es schon hingekriegt, dass EINE Node von CT B angezeigt wird. Wie schaffe ich es, dass die weiteren 3 in je einer Spalte aufgeführt werden? Ich dachte ich könnte das Feld noch 3 mal in dem View anlegen und dafür je eine neue Relationship erstellen und dort einen Offset von 1,2 und 3 einstellen, aber ich habe leider keine entsprechende Funktion gefunden. Weiß jemand dazu Rat? Würde mich über jeden Tip freuen.

Viele Grüße,
nomainstream

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist gelöst

Eingetragen von nomainstream (7)
am 24.06.2016 - 18:48 Uhr

Ich habe nicht gesehen, dass schon jeweils alle Nodes vom CT B ausgegeben werden, in einzelnen Zeilen der Tabelle. Durch Gruppierung werde ich das dann hinkriegen.
Vielen Dank nochmal für die super Tips und die schnelle Antwort am Sonntag. Das hier scheint ein super Forum zu sein :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

im view das feld spkid

Eingetragen von caw (2762)
am 26.06.2016 - 04:52 Uhr

im view das feld spkid hinzufügen und ggf. ausblenden. dann einen zweiten view bauen mit filter contenttype b und spkid als kontextfilter.
diesen view im ersten view einbinden skipid übergeben, fertig

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo caw, danke für den Tip.

Eingetragen von nomainstream (7)
am 15.07.2016 - 17:13 Uhr

Hallo caw, danke für den Tip. Hab es so hingekriegt, gut zu wissen, dass es auch diese Möglichkeit gibt.
Ich habe mich dann allerdings noch weiter mit dem Rules Modul befasst und mir eine Rule entwickelt, die mir nun die beiden Contenttypes in einen Contenttype zusammenfasst, zugunsten der Performance der Website.

Viele Grüße,
nomainstream

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 4 Tagen
  • Hey danke
    vor 1 Woche 5 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 21 Stunden
  • In der entsprechenden View
    vor 3 Wochen 21 Stunden
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 21 Stunden
  • gelöst
    vor 5 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 11 Gäste online.

Benutzer online

  • ian_radnor

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association