Block/View mit Noderefence
am 14.09.2007 - 19:00 Uhr in
Als blutiger Drupal-Newbie versuche ich gerade ein bestehendes altes CMS in Drupal nachzubilden.
Konkret: Ich versuche einen View zu erstellen, der mir Nodetyp2 anzeigt, der in Nodetyp1 als Block dargestellt werden soll, aus der ich heraus via Nodereference auf Nodetyp2 referenziere.
Leider klappt das nicht :-(
Ich habe folgendes versucht:
Filter: Node Typ ist eines von Nodetyp2
Argument: Nodereference: Feld aus Nodetyp1
Argumentcode: $args[0] = arg(1);
Ich habe es auch mal mit Nodefamily versucht, ohne Erfolg.
In die andere Richtung funktioniert alles Bestens:
View-Block der mir in Nodetyp2 alle Nodes von Typ1 anzeigt mittels:
Filter: Node Typ ist eines von Nodetyp1
Argument: Nodereference: Feld aus Nodetyp1
Argumentcode: $args[0] = arg(1);
Ich habe leider da noch einen ziemlichen Knick in der Logik, bitte helft mir auf die Sprünge!
Grüsse, Devr
- Anmelden oder Registrieren um Kommentare zu schreiben
Was funktioniert
am 18.09.2007 - 12:46 Uhr
Was funktioniert ist:
Filter: nach Typ der Childnode
Argument: Node ID
$args[0] = 3; // 3 ist die nid der in der Parentnode referenzierten Childnode
Was ich leider nicht hinbekomme:
die nid der Childnode dynamisch aus der Parentnode auslesen. Ich dachte das ginge mit:
$args[0] = $node->field_referenz_zu_childnode[0]['nid'];
Immer noch ratlos ... Weiß wirklich keiner weiter?
Leider hat sich hier keiner
am 18.09.2007 - 14:56 Uhr
Leider hat sich hier keiner erbarmt ... Hier ist die Lösung für alle, die ebenfalls auf dieses Problem stoßen:
Um Felder *einer* Childnode (der ersten) anzeigen zu lassen:
Felder auswählen, die man braucht
Filter: nach Typ der Childnode
Argument: Node ID
Argument Handling Code:
$node = node_load(arg(1));
$args[0] = $node->field_referenz_zu_childnode[0]['nid'];
Schade, daß das nur für eine Node geht, da das Argument Node: Id nur für eine definierbar zu sein scheint ...
Du willst einen Node in
am 18.09.2007 - 15:16 Uhr
Du willst einen Node in einem anderen Darstellen? Du könntest das mit einem View und dem View-Feld von CCK machen. Hab das selbe auch heute realisiert.
Inhaltstyp1 (hier sollen die Nodes rein)
- View Feld mit dem View auf Inhaltstyp2 und als Argument die eigene NodeID (%nid).
Inhaltstyp2
- NodeReference Feld, hier wird angegeben wo der Node eingebettet werden soll.
View
- Als Argument das NodeReference Feld.
gruß pebosi
gruß pebosi
--
https://pebosi.net
Danke!
am 19.09.2007 - 08:53 Uhr
Das ist wirklich eine sehr elegante Lösung. Das Viewfield-Modul kannte ich noch nicht. Da im bestehenden CMS die Refenzen im Inhaltstyp1 gespeichert werden, hatte ich das einfach so übernommen. Jetzt werden auch mehrfache Selects angezeigt. Ich bin begeistert :-)
Dein Vorschlag hat darüber hinaus den Vorteil, daß ich zur Anzeige der Nodes von Typ1 in Nodes Typ2 gar nicht erst Views anlegen muß. Und ich kann auch in Typ1 die referenzierten Nodes in Typ2 ausgeben lassen. Grandios!
Jetzt muß ich halt noch schauen, wie ich das Ganze anständig stylen kann.
Vielen Dank, das hat mich ein großes Stück weitergebracht!
Gruß, Devr