Wie kann ich zwei Inhaltstypen in Beziehung setzen und einen View an einen Node anhängen?

am 28.07.2013 - 11:01 Uhr in
Hallo,
ich experimentiere jetzt seit fast 3 Tagen mit Kontextfiltern und Beziehungen herum, habe mir zahlreiche Videos angeschaut und Beiträge gelesen, bekomme folgende Anforderung aber trotzdem nicht hin:
Ich habe einen Inhaltstyp 'Artikel_Basis' und 'Artikel_Daten' angelegt. Die Daten werden alle über das Modul Feeds importiert. Es sind ca. 150 Datensätze in 'Artikel_Basis' und > 400 Datensätze in 'Artikel_Daten'. Die Tabelle 'Artikel_Daten' soll monatlich automatisch (über Feeds) neu importiert werden. Dieses nur zur Info - es sollen also eigentlich keine Daten manuell eingegeben bzw. nachträglich bearbeitet werden.
Die beiden Tabellen aus denen die Daten kommen und nach deren Vorlage ich die beiden Inhaltstypen erstellt habe sehen in etwa wie folgt aus:
Artikel_Basis:
Artikelnummer | Artikelname | Beschreibung
1001 | Name1 | blablabla1
1002 | Name2 | blablabla2
1003 | Name3 | blablabla3
Artikel_Daten:
Artikelnummer | Hersteller | Artikeleigenschaft
1001 | HerstellerXY1 | Variante A
1001 | HerstellerXY2 | Variante A
1001 | HerstellerXY2 | Variante B
1002 | HerstellerXY1 | Variante B
1002 | HerstellerXY2 | Variante A
1003 | HerstellerXY3 | Variante A
Jeder der Artikel in 'Artikel_Basis' kommt nur einmal vor und hat eine eindeutige Artikelnummer und soll mehrere Datensätze aus 'Artikel_Daten' zugewiesen bekommen.
Also: Was ich nun einfach nur machen muss, aber irgendwie nicht hinbekomme ist, zu jedem Artikel (aus Tabelle Artikel_Basis) die entsprechenden Daten (aus Tabelle Artikel_Daten) anzuhängen.
D.h. wenn ich den Artikel mit zb. der Nummer 1001 ausgebe, dann sollen nur die dazugehörigen Datensätze mit der Artikelnummer 1001 mit an den Node angehängt werden.
Ich habe bereits einen View erstellt, der mir ALLE Datensätze aus 'Artikel_Daten' ausgibt. Wie kann ich diesen View nun an meine Artikel (Artikel_Basis) dranhängen und nur die Datensätze augeben, die die selbe Artikelnummer haben wie der Artikel?
Installiert habe ich: Drupal 7.22, Views 7.x-3.7, References 7.x-2.1, Corresponding Node References 7.x-4.22
Eins ist mir noch aufgefallen: Ich habe ja References installiert und auch unter Module den Punkt Node Reference aktiviert. Müsste ich da nicht bei den Inhaltstypen auch ein Feld 'Node Reference' zur Auswahl haben? Ich habe nur View reference und Reference auf Taxonomie zur Verfügung.
- Anmelden oder Registrieren um Kommentare zu schreiben
So wie Deine Daten aufgebaut
am 28.07.2013 - 11:26 Uhr
So wie Deine Daten aufgebaut sind, brauchst Du die Referenzen nicht. Das würde man nutzen, wenn im Datensatz Typ A eine feste Referenz auf einen Artikel von Datentyp B eingebaut werden sollte.
Bei Dir ist es viel einfacher. Nimm das Modul EVA (entity views attachement). Damit kannst Du einen View an einen Entity (z.B. einen Node) anhängen. Dabei über gibst Du die Artikelnummer als Argument (=Kontextfilter). Im View läßt Du alle veröffentlichen Datensätze von Typ B ausgeben. Der Kontextfilter sorgt für die Auswahl. Es werden also nur Daten mit der passenden Artikelnummer gezeigt.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
aber per reference ist
am 29.07.2013 - 08:00 Uhr
aber per reference ist besser. ich nutze zwar auch immer references modul aber man soltle das entity references nutzen.
C.A.W. Webdesign

???
am 29.07.2013 - 08:10 Uhr
aber per reference ist besser.
Aha schön, aber was muss ich denn machen, damit es wie oben beschrieben funktioniert???
Views
am 29.07.2013 - 08:22 Uhr
Moin.


Wie schon erwähnt wurde, benötigst Du keines der beiden Referenz-Module, sondern nur [do:eva Entity views attachment].
Du fügst Deinem View ein neues Attachment-Display hinzu und konfigurierst dieses so, dass es beim Inhaltstyp "Artikel_Basis" zur Verfügung steht.
Dann musst Du ein "contextual filter" vom Typ "Content: Nid" hinzufügen:
In den Optionen des Filters kannst Du dann noch festlegen (unter "Validation"), von welchem Inhaltstyp die im Filter verwendeten Nodes sein sollen (in Deinem Fall "Artikel_Basis").
Nun hast Du in der Feldliste des Inhaltstypen "Artikel_Basis" auch das Attachment-Display als eigenes Feld und kannst dieses an die gewünschte Position schieben.
Zum Verständnis ist es sicherlich auch hilfreich, ein paar Tutorials zu lesen, bzw. Videos zum Thema anzuschauen. Ein gutes Beispiel dafür ist http://nodeone.se/en/modules/eva-entity-views-attachment und die komplette Serie zu Views.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
in der artikel basis legst du
am 29.07.2013 - 10:06 Uhr
in der artikel basis legst du ein feld vom typ referenz an und refenzierts dann auf die artikel daten. dann kannst du damit views erstellen oder aber den view per feld einfügen oder per eva anhängen...wie du willst
aber mit eva gehts auch wie oben beschrieben
C.A.W. Webdesign

Views mit print... ausgeben?
am 29.07.2013 - 14:38 Uhr
so wies aussieht funktioniert's nun endlich mit EVA.
Aber ein neues kleines Problem habe ich nun: Ich habe für meinen Inhaltstyp eine neues Template erstellt und
print render($content);
rausgeschmissen und die Felder eingebaut die ich brauche. Nun werden aber auch keine Views mehr ausgegeben.Wie kann ich denn nun einzelne Views per print... ausgeben?
saerdna schrieb so wies
am 29.07.2013 - 15:30 Uhr
so wies aussieht funktioniert's nun endlich mit EVA.
Aber ein neues kleines Problem habe ich nun: Ich habe für meinen Inhaltstyp eine neues Template erstellt und
print render($content);
rausgeschmissen und die Felder eingebaut die ich brauche. Nun werden aber auch keine Views mehr ausgegeben.Wie kann ich denn nun einzelne Views per print... ausgeben?
Habs schon:
print render($content['mein_view_name']);
Ich steh auf dem Schlauch... wirklich...
am 30.01.2018 - 11:45 Uhr
Ich versuche seit Tagen eine 1:n Beziehung in Drupal umzusetzen und stehe irgendwie total auf dem Schlauch.
... habs nach da verschoben...
http://www.wiedbachschule.de/