[Решено]Вывод количества найденных нод во views(проблема)

Главные вкладки

Аватар пользователя masdeft masdeft 1 февраля 2010 в 18:21

Привет.
Тут http://www.drupal.ru/node/39537 решали мою проблему с выводом количества найденных нод во views, я подумал что осталось малое после того, что получилось вывести количество всех созданных нод... Увы.. либо не малость, либо вообще не так все нужно делать. Пожалуйста, подскажите как составить мне запрос вывода количества нод, соответствующие после фильтрации.

Пример: в полях(Exposed Filters) выбрал значения марка:[BMW] год выпуска:[2003] - нажимаю [поиск]
..и сверху над найденными нодами BMW 2003 года выводит - [Найдено 12 объявлений]
и цифра 12 значит что по фильтру BMW 2003 нашло 12 объявлений

Спасибо.

Комментарии

Аватар пользователя slavik.kz slavik.kz 2 февраля 2010 в 12:12

я делаю так:

темизирую вывод представления (вьюса, например в файле views-view--myviewname--page-1.tpl.php в папке темы), ведь если это обычное с пейджером, то кол-во результатов уже должно быть подсчитано

<?php
...
$num=$view->total_rows;
$start = ($view->pager['current_page'] * $view->pager['items_per_page']) + 1;
$finish = $start + count($view->result) - 1;
$header .= '<p>Результаты: '.$start.'&mdash;'.$finish.' из '.$num.'</p>';
...
?>

<?php if ($header): ?>
  <div class="view-header">
    <?php print $header; ?>
  </div>
<?php endif; ?>

p.s. а, ну и чтобы выводить количество найденных нод в представлении без пейджера, когда полное количество не подсчитывается, а выводятся только Х записей - делаем в модуле:

function mymodule_views_pre_execute(&$view) {
  if($view->name=='myviewname') {
    $view->get_total_rows = TRUE;
  }
}

p.p.s. упс, увидел, что речь идет про 5-ый друпал, а я писал про 6-ой, так что думаю, если не заработает, то разобраться будет легко

Аватар пользователя sav13 sav13 2 февраля 2010 в 12:49

Недавно поставил себе модуль views_calc
Он позволяет во Views создавать строчку Итого с различными агрегатными функциями.
В вашем случае подходит функция числа строк count.
Из интересных особенностей - можно сделать группировку с выводом промежуточных итогов.
То есть если выбрано несколько значений фильтра, то будет Всего BMW - 13, Всего Mersedes - 5, Всего 18

Аватар пользователя masdeft masdeft 2 февраля 2010 в 17:06

Огромное спасибо Вам!

"sav13" wrote:

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

"slavik.kz" wrote:
slavik.kz

Посидел полчаса и в D5 все прекрасно заработало Smile сделал по первому варианту. Спасибо Вам!