Re-Execute ?
am 07.08.2010 - 18:57 Uhr in
Ich übergebe meinem View zwei Argumente - Taxonomy-Werte.
Liefert der View als Ergebnis weniger als die eingestellten Items-Per-Page, dann soll das Ergebnis um eine weitere Ergebnisse einer zweiten Abfrage (gleiche Abfrage wie die erste nur ohne den zweiten Taxonomy-Wert) ergänzt werden bis die nötige Anzahl an Records erreicht ist.
Beispiel:
Query 1: Liefere alle Nodes mit dem Taxonomy-Wert 'rot' und dem Taxonomy-Wert 'hellrot'.
Es werden 3 von 5 benötigten Nodes geliefert.
Abänderung der Query zur Ergänzung:
Query 2: Liefere 2 Nodes mit dem Taxonomy-Wert 'rot', deren Node-ID nicht in den Ergebnissen der Query 1 vorhanden sind.
Den zweiten Teil - Ausschluss der Node-ID - bekomme ich hin. Aber an welcher Stelle kann ich am besten eingreifen um die Logik zu implementieren ?
hook_view_ pre_render ?
Wie kann ich die Query überschreiben und erneut ausführen ?
Danke für jede Hilfe,
Nadir
- Anmelden oder Registrieren um Kommentare zu schreiben
Union
am 12.08.2010 - 11:51 Uhr
Hi,
das klingt sehr nach einer Union Abfrage und geht so leider nicht. Du müsstest es so machen, das du erst abfragst, was vorhanden ist und dann an den View die eigentlichen Werte übergibst.
Von daher könntest du mit views_embed_view vielleicht eine Abfrage A ausführen und dann entscheiden ob du noch B ausführst und dann beider Ergebnisse an C weitergibst. Das ganze neigt aber dazu langsam zu werden und von daher ist die Frage ob A & B nicht in einen angepassten Algorythmus gepackt werden können oder in wie weit du statischen Cache nutzen kannst.
Ich hoffe du kannst mir folgen. Zusammen gefasst meine ich: Das wie du es gerade möchtest geht nicht. Entscheide anders, welche Nodes du sehen willst und füttere Views dann mit deren IDs.
Viele Grüße,
Kars-T