View als Argument für einen zweiten View verwenden
am 14.01.2011 - 15:02 Uhr in
Ich habe folgendes Szenario:
Ein View #1 teasert auf einer Startseite die neusten Artikel an. Dabei ist DER neuste Artikel optisch sehr präsent.
In einem zweiten View #2 (ebenfalls auf der Startseite) wird ein zufälliger Artikel angezeigt. Nun kann dort auch der erste Artikel aus dem ersten View auftauchen, was optisch nicht so fetzt.
Anforderung ist nun also für View #2, dass ein zufälliger Artikel angezeigt wird, aber NICHT der erste Artikel aus View #1.
Ansatz: Man kann natürlich ein SQL-Statement für ein Argument so formulieren, dass eben genau diese nid ermittelt wird (was sich durchaus mal ändern kann), die dann ausgeschlossen wird. Dabei habe ich mich gefragt, ob man nicht genauso einen weiteren View als Argument benutzen kann, auch wenn das nicht gerade performant wird.
Weiterhin glaube ich mal dunkel ein Modul gesehen zu haben, welches mehreren Views erlaubt "untereinander zu kommunzieren", sprich: Views Result eines anderen Views auf der selben Seite zu berücksichtigen.
Hat jemand weitere Ideen, Ansätze?
(Drupal 6, Views 2)
Grüße, -rokr- Ronald
- Anmelden oder Registrieren um Kommentare zu schreiben
Eigenen Filter schreiben
am 14.01.2011 - 15:34 Uhr
Meine Meinung zu sowas ist, das man einen Cache bauen sollte und diese in den Views verwenden. Mit einem speziellen Filter kannst du das machen. Heißt aber, das du programmieren musst. Sonst wüsste ich nicht, wie das geht.
http://www.comm-press.de/blog/eigene-filter-f-r-das-drupal-views-modul
Viele Grüße,
Kars-T
Ungetestet würde ich das hier
am 14.01.2011 - 15:37 Uhr
Ungetestet würde ich das hier versuchen:
function myfunction_views_pre_render(&$view) {
static $nid;
if ($view->name == 'myrandomview') {
$nid = isset($view->result[0]->nid) ? $view->result[0]->nid : NULL;
}
elseif($view->name == 'mylistview' && $nid) {
foreach($view->result as $key => $res_nid) {
if ($res_nid == $nid) {
unset($view->result[$key]);
}
}
}
}
Dabei wird der Random-Artikel entfernt aus der Liste.
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.