Views Block mit Argument auf mehrere nodereference Beiträge
Eingetragen von vistree (238)
am 08.12.2010 - 18:29 Uhr in
am 08.12.2010 - 18:29 Uhr in
Hallo,
ich habe einen Hauptbeitrag, in dem ich mehrere Nebenbeiträge über nodereference festlege. Nun möchte ich gerne die Überschriften dieser Nebenbeiträge in einem Views-Block anzeigen.
Mir ist klar, dass ich das über ein Standardargument machen muss und mit nur einem Nebenbeitrag funktioniert das gut über den folgenden PHP-code
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
return $node->field_nebenartikel[0][nid];
} else {
return FALSE;
}
?>
Wie muss ich den code aber nun anpassen, dass nicht nur 1 Beitrag angezeigt wird? irgendwie durch ein foreach auf das nodereference-Feld (field_nebenartikel ) ???
- Anmelden oder Registrieren um Kommentare zu schreiben
Nodereference
am 09.12.2010 - 00:22 Uhr
Einfacher wird es, wenn du die Nodereferenz umdrehst. Also das nodereferenz Feld nicht in den Haupbeitrag, als Referenz auf die Nebenbeiträge, packst, sondern umgekehrt eine Nodereferenz zum Hauptbeitrag in den Nebenbeiträgen.
Und dann ist dieses Modul sehr hilfreich: http://drupal.org/project/nodereference_url
Beachte dort den Screenshot und der Screencast dazu ist auch sehr hilfreich.
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
<?phpif (arg(0) == 'node' &&
am 09.12.2010 - 00:37 Uhr
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
foreach ($node->field_nebenartikel AS $nebenartikel) {
print $nebenartikel[nid];
// return kannst du nicht verwenden, das würde die schleife abbrechen.
}
} else {
return FALSE;
}
?>
» forward-media.de Drupal Entwicklung | Drupal Tutorials
Wenn das mit dem PHP-Code da
am 09.12.2010 - 09:08 Uhr
Wenn das mit dem PHP-Code da nicht funktioniert... es gibt dafür ein Modul ;)
http://drupal.org/project/reverse_node_reference
Computerboard da wird dir geholfen
gelöst
am 09.12.2010 - 09:15 Uhr
Morgen,
Danke für eure Rückmeldungen. Den umgedrehten Fall hatten wir erst. Das hat mit der Verknüpfung gut funktioniert - aber es war für die User nicht handelbar.
Dank dem Kommentar von derjochenmeyer habe ich nun aber eine Lösung gefunden. Habe mir zusätzlich mal die kusierenden Beispiele für Taxonomie-Begriffe angeschaut und folgenden code erzeugt.
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
foreach ($node->field_nebenartikel AS $nebenartikel) {
$nidartikels[] = $nebenartikel[nid];
// return kannst du nicht verwenden, das würde die schleife abbrechen.
}
return implode('+',$nidartikels);
} else {
return FALSE;
}
?>
Dann noch in dem View-Argument die Option "Ermöglicht mehrere Begriffe pro Argument." anharkt - und nun funktioniert es.
Herzlichen Dank!!!