Вы здесь

Как вывести таблицу с пагинатором в блоке?

0

Господа, набросал небольшой сниппет, в котором вывожу таблицу пользователей, оцинивших ноду и пагинатор, чтобы пролистывать эту табличку (по 5 строк на страницу). Этот сниппет закинул в блок, а блок вывожу на странице с нодами, к которым мне эта статистика нужна. Таблица в блоке отображается корректно, а вот пагинатора нет, что я делаю не так?

<?php
global $base_url; //Адрес сайта.

//Получаю nid ноды.
if (arg(1) != 'ajax') {
  $nid = $form_state['storage']['nid'] = arg(1);
}
else {
  $nid = $form_state['storage']['nid'];
}

$header = array( 
array('data' => 'Редактор', 'field'=>'name'),
array('data' => 'Средняя оценка', 'field'=>'rating')); 

$query = db_select('votingapi_vote','vv')->extend('PagerDefault')->extend('TableSort'); //Подключаем пагинатор.
$query->innerJoin('node', 'n', 'vv.entity_id = n.nid');
$query->innerJoin('users', 'usr', 'vv.uid = usr.uid');
$query->addExpression('ROUND(SUM(vv.value * 5 / 100)/COUNT(vv.value), 1)', 'rating');
$query->fields('usr', array('name'));
$query->fields('vv', array('uid'));
$query->condition('n.nid', $nid, '=');
$query->groupBy('usr.name');
$query->orderBy('vv.timestamp', 'DESC'); //Сортировка по дате оценки.
$query->limit(5);
    $result = $query->execute()->fetchAll();
    dpq($query);    

 foreach ($result as $res) //Заполняем массив строк.
    {
        $rows[] = array(
        l($res->name, $base_url . "/user/".$res->uid),//Ссылка, указывающая на пользователя.
        check_plain($res->rating)
        );
    }

$table = theme('table',array( 
              'header' => $header,   
              'rows'     => $rows,  
            ) );
 $table .= theme('pager'); //Выводим пагинатор.
 return $table;
?>


Версия Drupal: 
7.x
Вопрос задан 14.04.2017 - 21:16

Я имел в виду, что таблица в блоке отобразилась, а вот пагинатор не отобразился.
Указал красной рамкой где должен быть пагинатор.

Комментарий оставлен 14.04.2017 - 22:52

Ответы