---
title: 'Баг пагинации во Views 2'
url: 'https://graker.ru/news/2014/11/24/bag_paginatsii_vo_views_2'
language: ru
type: post
author: 'Роман Грачев'
published: '2014-11-24T13:07:40+03:00'
updated: '2016-08-06T17:10:27+03:00'
categories:
  - Разработка
  - Друпальчики
---

# Баг пагинации во Views 2

В процессе доработки [Cotranslate.Net](http://cotranslate.net) столкнулся с любопытным багом пагинации во Views 2 (Drupal 6 т.е.), с которым раньше как-то не встречался.

Воспроизводится он так:

1\. Делаем модуль, в нем создаем новую таблицу истории (лога) с разными записями о том, что происходило с материалом.
2\. [Дружим](https://graker.ru/drupal/papers/views_integration) эту таблицу с Views. Поскольку данные таблицы актуальны только для материалов, делаем ее не базовой, а просто join-им с {node}.
3\. Создаем представление на базе материалов, в котором выводим поля из таблицы истории, в представление добавляем пагинацию (хоть полную, хоть мини — не важно).
4\. Пока выводятся записи для всех материалов, все нормально, пагер появляется и работает.
5\. Теперь добавим в таблицу аргумент, либо просто фильтр по nid (чтобы вывести историю только для заданного материала).
6\. Profit Пагер немедленно пропадает. Причем не только из вывода — даже в SQL-запросе представления нет никаких его следов. И без разницы как выводить: блоком, аттачем, страницей, программно — пагера все равно нет.

Видимо, Views 2 считает, что если базовое значение (материал) — одно, то и строить пагер незачем. Самый простой (и примененный мной) выход — интегрировать таблицу истории как базовую и построить вьюху относительно этой таблицы, с присоединением материала через relationship. Тогда работает.

Интересно, есть ли такой баг во Views 3? На уровне работы с полями и entityreference — не воспроизводится.
