Доброго всем дня!
Написал блок, который должен выводить на странице просмотра группы (og) все ноды, которые принадлежат этой группе. Причем выводить с разбивкой на страницы по 10 нод.
Но оказалось что пагинатор не выводиться в блоке.
Вот код блока
<?php
function site_block_view($delta = '') {
$block = array();
switch (
$delta) {
// Дискуссии (на странице просмотра сообщества)
case 'site_group_discussion':
$query = new EntityFieldQuery;
$result = $query
->entityCondition('entity_type', 'node')
->entityCondition('bundle', array('blog', 'recipe'), 'IN')
->propertyCondition('status', 1)
->propertyOrderBy('created', 'DESC')
->pager(10)
->execute();
$node_list = array();
if (!empty($result['node'])) {
$nodes = entity_load('node', array_keys($result['node']));
foreach ($nodes as $node) $node_list[] = $node;
}
$block['subject'] = 'Дискуссии';
$block['content'] = theme('site_group_discussion', array('node_list' => $node_list)).theme('pager');
break;
}
return $block;
?>
Т.е. такая строчка "theme('pager')" не добавляет пвгинатор в конец блока.
Как сделать блок с пагинатором? Может какие параметры использовать?
Почитал http://api.drupal.org/api/drupal/includes--pager.inc/function/theme_pager/7
Но пока ничего не выходит.
Комментарии
Не совсем в тему, но может стать альтернативой http://xandeadx.ru/blog/drupal/346.
Спасибо, но мне бы с пагинатором...
Я по ТЗ пишу.
Выяснилось, что для анонимного пользователя и для не администратора пагинатор успешно отображается.
А для админа и супперпользователя его нет.
Очередной глюк друпал 7 или тонкая фича?
Посмотрите фаербагом - может какой-то элемент (наподобии admin menu) сдвигает верстку и пагинатор сдвигается вниз.
Да, я это проверял. Ни строчки html-кода от пагинатора не присутствует.
В 7ке принято использовать RenderAPI, т.е. всместо
<?php
$block
['content'] = theme('site_group_discussion', array('node_list' => $node_list)).theme('pager'); ?>стоит писать
<?php
$block
['content'] = array('items' => array('#theme' => 'site_group_discussion', '#node_list' => $node_list),
'pager' => array('#theme' => 'pager'),
); ?>
Нет, это тоже не помогает. Пагинатор не выводится!
Видимо какойто глюк.