Постраничный счетчик нодов для view

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

Аватар пользователя BOOZ BOOZ 11 декабря 2009 в 7:57

Недавно понадобилось вставить постраничный счетчик в заголовке view. Пример смотрите здесь http://www.cto4u.ru/articles

1) Идем на страницу редактирования view. Кликаем на поле Header (Заголовок, у кого русская версия стоит) и выбераем PHP Code как фильтр.

2) Вставляем следующий снипет.

<?php
global $pager_page_array, $pager_total_items, $pager_total;
$my_view = views_get_current_view();
$items_per_page = $my_view->pager['items_per_page'];
if ($pager_total[0] == 1) {
  echo "всего: <b>" . $pager_total_items[0] . "</b>";
} else {
  $start = 1 + ($pager_page_array[0] * $items_per_page);
  $end = (1 + $pager_page_array[0]) * $items_per_page;
  if ($end > $pager_total_items[0]) $end = $pager_total_items[0];
  echo "Показано: <b>$start-$end</b> (всего: <b>" . $pager_total_items[0]."</b>)";
}
?>

3) Если есть отдельный шаблон для view, проверить если переменная $header присутствует

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

3) В результате выйдет примерно так

Показано: 1-5 (всего: 25) и т.д

Комментарии

Аватар пользователя Dimm Dimm 11 декабря 2009 в 12:59

Спасибо.

Вот еще полезный модуль в тему:
http://drupal.org/project/views_customfield
Markup
Field that allows usage of custom text and the input filter system.
PHP code
Field that allows usage of custom PHP code (with access to view's database result)
Rownumber
Field containing rownumber (respects pagers).