Wie wäre es, wenn man einfach ohne irgendwas zu programmieren alle verlinkten Node Referencen anzeigen könnte?
Ich brauchte genau diese Funktion für ein Plugin von Mysite. Hier kommt nun ein Snippet, welches als Block auf der Node Page erscheint. Hier werden alle Node-Teaser von den Reference Nodes angezeigt.
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
// lädt den aktuelle Block
$node = node_load(arg(1));
// Holt sich alle Node Reference Felder
foreach(content_fields() as $content_field_name => $content_field_object) {
if(is_array(content_fields($content_field_name, $machine_readable)) && ($content_field_object['type'] == 'nodereference' or $content_field_object['type'] == 'revisionreference')) {
$fields[] = $content_field_object;
}
}
$nids[] = '';
//Schaut welches Node Reference Feld vorhanden ist und füllt $nids mit den nids
foreach ($fields as $content_field_object) {
$name = $content_field_object['field_name'];
if (isset($node->$name)) {
$reference = $node->$name;
// get all nids
foreach ($reference as $item) {
$nids[] = $item['nid'];
}
}
}
// Verarbeitet alle Nids und zeigt den Teaser an
foreach ($nids as $nid) {
$node = node_load($nid);
print theme('node', $node, true);
}
}
?>
Add new comment