Der Views-Hook, den Sie verwenden möchten, hook_views_pre_build
wird aufgerufen, bevor die Abfrage erstellt wird. Dies setzt voraus, dass Sie über grundlegende Erfahrung in der Modulentwicklung verfügen und mit den Ansichten von api vertraut sind.
Sie sollten in der Lage sein:
/*
* Implementation of hook_views_pre_build().
*/
function hook_views_pre_build(&$view) {
// Make sure this is only for the specific view you want to modified
if ($view->name == "foo_bar") {
// Get the x-y value from where you're storing it (in your example the node object).
$pager_count = get_count_for_this_node();
// Lets also make sure that this is a number so we won't destroy our view.
if (is_numeric($pager_count)) {
// Now lets set the pager item to what ever out count is.
$view->pager['items_per_page'] = $pager_count;
}
}
}
Oben verwenden wir einen Views-Hook, der aufgerufen wird, bevor die View-Abfrage so erstellt wird, dass der Pager und alles andere die Änderung widerspiegeln.
Achtung: Views-Hooks sollten nur verwendet werden, wenn Sie wissen, was los ist. Der obige Code ist für views-2.x geschrieben.
Hoffe das hilft.
$view->items_per_page = $pager_count;
Für Drupal 7 sollte Only Folgendes schreiben:
Im Beispiel:
Ich benutze ein Codebeispiel von @ericduran.
quelle
Sie sollten die Vorverarbeitungsfunktion für Ansichten verwenden
quelle
Gehen Sie wie folgt vor, um das Ergebnis der Ansichten und den Pager in hook_views_pre_render zu aktualisieren:
Das sollte funktionieren!! ;)
quelle
@tanmayks Code hat den Trick für mich gemacht. In hook_views_pre_render wurden nur diese 2 Codezeilen hinzugefügt
Aber ich musste die Ergebnisse nicht zur Ansicht hinzufügen.
quelle