$ view-> total_rows неверно (вроде), я хочу "Элементы для отображения" - PullRequest
0 голосов
/ 20 октября 2010

Свойство "total_rows" моего представления возвращает общее количество строк (22), но не количество элементов, которые я установил для отображения (5) (через веб-интерфейс Блок -> Основные настройки ).

Как я могу получить это надлежащим образом, не полагаясь на (возможно, вскоре устаревшее свойство "result"?

длясейчас я использую $totalRows = min($view->total_rows, count($view->result));

Ответы [ 4 ]

2 голосов
/ 20 октября 2010

Это всегда доступно как:

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

, где your_display заменяется используемым дисплеем видов (например, page_1, block_1 и т. Д.). Это доступно на всех этапах процесса строительства.

0 голосов
/ 26 февраля 2015

Вот хорошее решение, которое позволяет отображать итоговые результаты (работает с пейджером и без него), а также количество результатов на текущей странице (например, на странице 2 из 10): http://www.midwesternmac.com/blogs/jeff-geerling/views-show-showing-x-x-x

Имейте в виду, что это решение не работает для отображения типа блока, только для страницы.

0 голосов
/ 20 мая 2011

По умолчанию результат отображается для отображения «по умолчанию». Если вы хотите его для определенного дисплея, вы можете использовать

$view = views_get_view('MY_VIEW_NAME');    

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

$view->render();   

print sizeof($view->result);
0 голосов
/ 20 октября 2010

$view->pager["items_per_page"] соответствует вашим потребностям? Я не уверен на 100%, когда это доступно, но я использую его в hook_views_pre_build() в пользовательском модуле.

...