Node mit einem embeded view erweitern
am 03.09.2009 - 13:46 Uhr in
Hallo,
ich kriege es einfach nicht gebacken.
Folgende Situation:
Ich habe ein Inhaltstyp in dem es unter anderem einen nodereference zu einem anderen Inhaltstyp gibt.
In der Aufgabe (Task 1) habe ich also einen Bezug zum Projekt (Projekt A)
Nun würde ich in der Aufgabe gerne ein paar Grundinfos aus dem Projekt einblenden (Projektname, Priorität und Nummer).
Von daher habe ich jetzt ein View erstellt, in dem genau diese Infos dargestellt werden.
Auch die prinzipielle Einbettung in den node-typen funktioniert gut über
<?php
print views_embed_view(projektkopf, $display_id = 'Standards', arg(1));
?>
Nun werden mir im Task aber alle Projekte aufgelistet, nicht nur das, welches ich in dem Task referenziere.
Aus diesem Grund dachte ich, ich könnte in Views einfach eine Beziehung erstellen (Feld aus task --> field_ugehoeriges_projekt) und als Argument dann die ID des Projektnodes (node-nid) und mit der Beziehung verbinden.
Wenn ich das mache, dann sehe ich in meinem Task überhaupt keine Projektdaten mehr - das View ist leer.
Was mache ich hier möglicherweise falsch? Hat jemand einen Tipp für mich?
- Anmelden oder Registrieren um Kommentare zu schreiben
vistree schrieb Aus diesem
am 03.09.2009 - 15:20 Uhr
Aus diesem Grund dachte ich, ich könnte in Views einfach eine Beziehung erstellen (Feld aus task --> field_ugehoeriges_projekt) und als Argument dann die ID des Projektnodes (node-nid) und mit der Beziehung verbinden.
Wenn ich das mache, dann sehe ich in meinem Task überhaupt keine Projektdaten mehr - das View ist leer.
Was mache ich hier möglicherweise falsch? Hat jemand einen Tipp für mich?
Das machst du genau richtig. Nur muss als Argument die ID des Tasks stehen und nicht die des Projekts. Dann benutzt du die Beziehung zu dem Projekt und kannst dir auf Feld-Ebene (dort Beziehung benutzen) alles mögliche über das Projekt anzeigen lassen.
Grüße, Ronald
--
www.drupalizers.de
Reinblau eG
Hallo Ronald, herzlichen
am 03.09.2009 - 15:57 Uhr
Hallo Ronald,
herzlichen Dank für die super schnelle Antwort.
Könntest du mir das etwas genauer beschreiben?
Also, ich habe meinen node, indem ich als nodereference den Projekttitel auswähle.
Nun erstelle ich den View für den Projektkopf.
In diesem View wähle ich die gewünschten Anzeigefelder aus und filtere nach dem node-typ "Projekt".
Was muss ich nun genau tun, damit der View für den Projektkopf so in das Task-node-Template eingefügt wird, dass nach Auswahl der referenzierten Projekttitels die Projektdetails im Task eingeblendet werden?
Als Beziehung habe ich im View das Projetkref-Feld aus dem Task ausgewählt.
Als Argument im View habe ich dann die Beitrags-ID ausgewählt.
Wäre das so richtig? Angezeigt wird aber leider nichts ;-(
Grüße
Kai
Hallo Kai, ich habe mich
am 03.09.2009 - 17:42 Uhr
Hallo Kai,
ich habe mich oben vertan, sorry. Als Argument wählst du Node:Nid, dort dann "Provide default argument" und weiter unten "Node ID from URL". Damit stellst du sicher, dass dein View als Argument die Nid des aktuellen Tasks geliefert bekommt. Anhand dieser ID löst er über das Node reference Feld die Beziehung auf und kann so die Felder des verlinkten Projektes anzeigen.
Ich hoffe, das war jetzt richtig, sonst baue ich es selbst nochmal nach und mache dabei einen Screencast. ;-)
Grüße, Ronald
Reinblau eG
Danke noch mal! Also,
am 03.09.2009 - 18:01 Uhr
Danke noch mal!
Also, brauche ich dann noch die Beziehung - oder geht das rein über das Argument?
Viele Grüße
Kai
vistree schrieb Also,
am 03.09.2009 - 18:11 Uhr
Also, brauche ich dann noch die Beziehung - oder geht das rein über das Argument?
So wie ich es beschrieben habe, brauchst du beides.
ciao, Ronald
Reinblau eG
Sorry, ja, so habe ich es
am 03.09.2009 - 18:25 Uhr
Sorry, ja, so habe ich es auch versucht. Habe in Beziehung das nodereference-field eingetragen und "Require this relationship" angewählt.
Als Argument habe ich node:nid ausgewählt und die beiden von dir genannten Einstellungen vorgenommen.
Die Validierung habe ich auf "basic validation" gelassen.
Dann habe ich versucht a) die Beziehung beim Argument und b) die Beziehung bei den Feldern (node:nid) zuzuordnen.
Leider bleibt aber das embeded-view immer noch leer ....
Hast du noch eine Idee?
Grüße
Kai
Heijeijei, jetzt habe ich
am 04.09.2009 - 14:47 Uhr
Heijeijei,
jetzt habe ich mich heute noch mal kreuz und quer duch die Foren gelesen und zig Sachen auspobiert.
Es funktioniert total einfach, wenn man einen View (Inhalt MIT nodereference) an den referenzierten Inhalt anhägen möchte.
Ich finde aber keine Lösung, um an einen Inhalt mit nodereference-feld weitere Felder aus dem referenzierten node per View anzufügen.
Habe ich vielleicht ein Problem mit meiner Views-Version? Aktuelle stabile Version ...
Grüße und ein schönes Wochenende
Kai
Lösung gefunden
am 04.09.2009 - 15:33 Uhr
Hallo,
nun habe ich doch noch eine Lösung gefunden - und zwar ohne Beziehunen in Views:
Ich habe beim View nun nur noch als Argument die Beitrags-ID drinstehen.
Nun bin ich in meiner node-inhalt.tpl.php hingegangen und habe dort den Wert des nodereference-Felds ausgelesen und als Argument beim embeded view verwendet:
<?php
print views_embed_view(meinviewname, $display_id = 'Standards', $node->field_nodereferencefeldname[0]['nid']);
?>
Nicht schön aber selten ;-)
So nachdem ich mir
am 14.09.2009 - 02:19 Uhr
So nachdem ich mir vorgenommen hatte, einen Screencast zu machen, habe ich es jetzt endlich geschafft. Es sind drei Teile, weil bei Screenr nach 5 min Schluss ist mit der Aufnahme.
Teil 1: http://screenr.com/V27
Teil 2: http://screenr.com/7U7
Teil 3: http://screenr.com/1U7
Wenn man auf Fullscreen klickt, kann man sogar was erkennen.
Bitte um Feedback, ist das verständlich?
ciao, Ronald
--
www.drupalizers.de
Reinblau eG
InsertView
am 14.09.2009 - 06:13 Uhr
Wenn du einen View an ein Node hängen möchtest, dann kannst du auch das Modul Insert View benutzen.
views_attach
am 14.09.2009 - 06:49 Uhr
Oder noch einfacher über Views attach.
hth,
Stefan
--
sei nett zu Deinem Themer
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Perfekt!
am 14.09.2009 - 08:29 Uhr
Hallo Ronald,
ich habe mir die Screencasts angeschaut - perfekt!!
Ich weiß nicht, was bei mir vorher schiefgelaufen ist, aber mit dieser Schritt-für-Schritt-Anleitung habe ich das ganze jetzt rein mit Views und dem Beziehungsfeld hinbekommen.
Vielen Dank!
Kai