Здравствуйте.
У меня есть Вьюшка, которая отображается весьма нестандартным способом. По сути, я просто использую ее вместо самописного SQL-запроса. Есть шаблон темизации для нее, в котором результат обрабатывается и выводится как надо.
Но. Сколько я не бился, вывести пейджер не получается. Обычный theme('pager') возвращает пустой результат, пляски вокруг значений из $view тоже не дали результата. Такое ощущение, что я просто хожу кругами около решения, хорошо бы кто-нибудь просто показал, как это сделать правильно. Спасибо.
Комментарии
Обычный theme('pager') требует чтобы запросы к БД были постраничные.
А почему нельзя включить пейджер прямо в настройках вьюхи?
В настройках пейджер включен. Но я не рендерю эту вьюшку, поэтому он не отображается.
А.
Запрос к БД тоже сами вызываете?
Нет, просто в папке темы/views создан темплейт, который обрабатывает сам объект $view. Он ыводит информацию на основе $view->result.
А это какой из темплейтов для views? $pager есть на верхнем уровне темизации (display), views-view.tpl.php.
Это наиболее специфичный, имя файла включает в себя название вьюшки. Пробовал выводить $pager, там пусто.
Может вы поставили количество выводимых элементов - unlimited. Или количество материалов которые выдает вьюшка у Вас меньше того количества при котором появляется pager. А самый лучший вариант дайте экспорт вьюшки.
Нет, ничего такого. Экспорт во вложении.
Вьюху вашу я импортнул, проверил - пейджер работает нормально (после того как imagefield убрал и тип ноды сбросил).
Эм, views-view--thread-list... За основу я ничего не брал, поскольку вывод специфический.
Очень странно.
полностью название тплки можно?
Это оно и есть. views-view--thread-list.tpl.php
Если list, то надо думать - это style-уровень, на нем вроде бы нету пагера. Но непонятно, почему не задействуется верхний уровень display. Попробуйте скинуть шаблон в дефолтный - что будет?
Огромное спасибо! Это натолкнуло меня на нужную мысль. Дело в том, что в одном модуле, где производится некоторая работа с SQL-запросами, была строка
<?php$view->build_info['query_args'][0] = $view->build_info['query_args'][1];?>
Из-за нее, видимо, пейджер сбивался. Стоило убрать, и все заработало как по маслу!
Ну вот и хорошо Поставьте [РЕШЕНО] в заголовке.