Как распечатать разбивку на страницы для запросов EntityFieldQueries?
У меня есть этот код, который использует объект EntityFieldQuery
:
$query = new EntityFieldQuery;
$query
->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'yacht')
->propertyCondition("status", 1)
->pager(3, 1);
// […] switch case defaulting to:
$query->fieldOrderBy("field_bautyp", 'value', "asc");
// […]
$query->execute();
$nodes = node_load_multiple(array_keys($result['node']));
return theme('yacht_display', array('nodes' => $nodes));
И в yacht_display.tpl.php
<some HTML-Code and iteration over the $nodes>
<?php var_dump(theme_pager()); # => NULL ?>
Это, по-видимому, работает; когда я добавляю ?page=2,5
к URL-адресу, я получаю разные результаты.
Теперь мне нужно отрисовать пейджер. Простой вызов theme_pager()
не работает; вызов theme('pager', array("element" => 1))
всегда возвращает NULL
.
Что я делаю не так?
ОБНОВЛЕНИЕ: обновил код до его текущего состояния
4
Author: Nils Riedemann, 2011-04-01
2 answers
Часть ->initializePager()
неверна; зачем вам это делать?
Отключите эту линию и позвоните execute()
, как обычно.
Простого вызова theme('pager')
должно быть достаточно; Я не уверен, почему это не удается. (Возможно, из-за призыва к initializePager()
.)
5
Author: Bojan Zivanovic, 2011-04-02 03:37:07
Измените здесь: ->пейджер(3, 1) на ->пейджер(3). Это сработает.
0
Author: user303605, 2014-09-10 09:33:03