$ view-> total_rows是错误的(有点),我想要“要显示的项目”

时间:2010-10-20 06:10:28

标签: drupal drupal-views

我的视图的“total_rows”属性返回总行数(22),但不是我设置要显示的视图的项目数(5)(通过Web UI Block - > 基本设置)。

如何在不依赖(可能很快被弃用的“result”属性的情况下以正确的方式获得此内容?

现在我正在使用 $totalRows = min($view->total_rows, count($view->result));

4 个答案:

答案 0 :(得分:2)

始终可用:

$view->display['your_display']->display_options['items_per_page']

其中your_display被您正在使用的视图显示所取代(例如page_1block_1等)。这可以在建筑过程的所有阶段使用。

答案 1 :(得分:0)

$view->pager["items_per_page"]是否符合您的需求?我不是100%确定何时可用,但我在自定义模块的hook_views_pre_build()中使用它。

答案 2 :(得分:0)

默认情况下,会为“默认”显示呈现结果。如果您想要它用于特定显示器,那么您可以使用

$view = views_get_view('MY_VIEW_NAME');    

$view->set_display('MY_DISPLAY'); // like 'block_1'    

$view->render();   

print sizeof($view->result);

答案 3 :(得分:0)

这是一个很好的解决方案,可以显示总结果(使用和不使用寻呼机)以及当前页面上的结果数量(例如,第2页,共10页):http://www.midwesternmac.com/blogs/jeff-geerling/views-show-showing-x-x-x

请注意,此解决方案不适用于块类型显示,仅适用于页面。