[gelöst] Referenzierte Inhalte nicht anzeigen
Eingetragen von torfnase (1525)
am 04.07.2010 - 23:39 Uhr in
am 04.07.2010 - 23:39 Uhr in
Liebe Drupal Gemeinde,
ich habe zwei Inhaltstypen definiert, nennen wir sie Inhalt_A und Inhalt_B.
Inhalt_B enthält eine Beitragsreferenz auf einen Beitrag von Inhalt_A.
Wenn ich mir jetzt eine Node vom Inhalt_B anzeigen lassen, dann wird unten immer auch der referenzierte Beitrag von Inhalt_A mit angezeigt.
Kann man das irgendwie beeinflussen...
Optimal wäre eine Lösung, bei der ich von dem referenzierten Beitrag nur ein paar Felder anzeigen lassen könnte...
Ob es da wohl eine Lösung gibt, oder sehe ich den Wald nur vor lauter Bäumen nicht ?
Liebe Grüße :-)
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn du einen Node vom Typ B
am 05.07.2010 - 01:00 Uhr
Wenn du einen Node vom Typ B anlegst und in diesem Node mittels eines Nodereference-Feldes einen anderen Node vom Typ A referenzierst und dir dann den Node von Typ B anschaust, bekommst du den referenzierten Node auch noch ausgegeben? Das dürfte eigentlich nicht sein bzw. ist sehr ungewöhnlich. Passiert dies bei der ganz normalen Node-Ansicht oder bei etwas speziellem (View o.Ä.)?
Hast du evtl. mal einen Screenshot?
Falls du allerdings die Anzeige meinst, dass dort z.B. steht "Nodereferenz: Mein Referenz-Node", dann geh' mal zu den Einstellungen des Inhaltstyps (da, wo du auch neue Felder hinzufügst etc.) da hast du oben einen Reiter namens "Felder anzeigen", dort drauf klicken und dann bei deinem Nodereference-Feld einen Haken bei "Ausschließen" setzen (bzw. bei beiden Malen "Ausschließen", einmal für Teaser und einmal für Vollansicht).
Wegen der Ausgabe bestimmter Felder:
Du kannst in der node.tpl.php (bzw. node-typ_b.tpl.php, also eine Inhaltstyp-spezifische node.tpl.php) das Node-Reference-Feld auslesen, damit das entsprechende Node-Objekt laden und die gewünschten Felder ausgeben, z.B. so:
<?php
//das mus bei print $content ausgeführt werden, wie genau du die Ausgabe machen willst, rein optisch etc. bleibt dir überlassen
//Damit liest du die Node-ID des referenzierten Nodes aus:
$node_id = $node->field_node_referenz-feld['0']['nid'];
//Damit wird der entsprechende Node geladen:
$new_node = node_load($node_id);
//Jetzt kannst du beliebig die gewünschten Felder des referenzierten Nodes ausgeben:
print $new_node->field_mein_erstes_feld;
print $new_node->field_mein_zweites_feld;
print $new_node->field_mein_xtes_feld;
?>
Danke schön für deine
am 05.07.2010 - 11:28 Uhr
Danke schön für deine ausführliche Antwort...
in der Tat hatte ich bei der Felderdefinition in beiden Fällen (Anrisstext und vollständiger Beitrag) immer angegeben: vollständiger Beitrag ausgeben,
deswegen wurde auch die ganze referenzierte Node unten noch einmal ausgegeben.
Ich habe es jetzt geändert und alles ist in Butter :-)
Manchmal sieht man eben den Wald vor lauter Bäumen nicht.
Drupal Video-Tutorials