如何在分页的Drupal 8视图中获取总行?

问题描述 投票:0回答:1

在Drupal 8中,我使用带有分页的视图。每页有10个项目。

在hook_views_pre_render(ViewExecutable $ view){..}中,我想获取要在另一个函数中使用的项目数。但是,由于寻呼机的设置,$ result = 10,$ total_rows = 10。实际项目号在500到2000之间。作为解决方法,我尝试了一个临时视图。

$view2 = Views::getView('my_view');
$view2->setDisplay('page_1');
$view2->setItemsPerPage(15000);
$view2->execute();

这有效。 view2-> total_rows返回所需的值。但是我不想在setItemsPerPage中使用固定值。 0或null(每页无限制项目)对total_rows不返回任何结果。

我该怎么做才能获得正确数量的视图项目?

drupal view
1个回答
0
投票

在hook_views_pre_render函数中,您不必执行view-> SetDisplay和view-> setItemsPerPage,就可以执行视图(甚至使用分页器设置)并获得总行数/结果:

  $view = Views::getView('my_view');
  $view->execute('page_1');
  $rows = $view->total_rows;

$ rows将提供您要查找的总数。

© www.soinside.com 2019 - 2024. All rights reserved.