O gancho de visualizações que você deseja usar hook_views_pre_build
é o chamado antes da criação da consulta. Agora, isso pressupõe que você tenha alguma experiência básica em desenvolvimento de módulos e que esteja familiarizado com a API de visualizações.
Você deve ser capaz de:
/*
* 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;
}
}
}
Acima, usamos um gancho de visualizações chamado antes que a consulta de visualização seja criada dessa maneira, o pager e tudo o mais refletirá a alteração.
Palavra de cautela: os ganchos de visualizações só devem ser usados se você entender o que está acontecendo. O código acima foi escrito para views-2.x.
Espero que isto ajude.
$view->items_per_page = $pager_count;
Para o Drupal 7, Somente deve escrever o seguinte:
No exemplo:
Eu uso exemplo de código por @ericduran.
fonte
Você deve usar a função de pré-processamento de visualizações
fonte
Para atualizar o resultado das visualizações e o pager em hook_views_pre_render, você pode fazer o seguinte:
Isso deve funcionar !! ;)
fonte
O código do @tanmayk fez o truque para mim. Em hook_views_pre_render adicionou apenas estas 2 linhas de código
Mas não precisei adicionar os resultados à exibição.
fonte