Drupal 7主题(''pager') - > table get渲染但没有Pager?

时间:2012-03-08 08:07:20

标签: drupal-7 themes pager dynamicquery

我有一个包含来自数据库的数据的表,我希望它有一个寻呼机,我有一个示例(buildamodule.com)和其他网站中的所有代码,我的表被渲染,但它没有' t生成一个寻呼机,虽然我有更多的行然后限制:

enter image description here

功能:

function get_loyaltycodes(){
$headers = array(
    array(
        'data' => t('Code')
    ),
    array(
        'data' => t('Info')
    ),
    array(
        'data' => t('Points')
    ),
    array(
        'data' => t('Consumed by')
    ),
);
$limit = variable_get('codes_per_page',5);
$query = db_select('loyalty_codes','lc');
$query -> fields('lc',array('code','info','points','uid'))
       -> orderBy('lc.info','ASC')
       -> extend('PagerDefault')
       -> limit($limit);


 //to see all codes for a certain amount of points, just append the number of points to the URL    
 $arg = arg(2);
 if($arg != '' && is_numeric($arg))
 {
    $query->condition('points', $arg);
 }

// Fetch the result set.
 $result = $query->execute();
 $rows = array();
  // Loop through each item and add to the $rows array.
  foreach ($result as $row) {
    $rows[] = array(
        $row->code, 
        $row->info, 
        $row->points, 
        $row->uid, 
    );
  }

  // Format output.
  $output = theme('table', array('header' => $headers, 'rows' => $rows)) . theme('pager');

  return $output;

$ limit变量在设置表单中设置为5,在数据库中也是5。

有任何人知道为什么寻呼机没有显示?也许是输出格式化的东西?

非常感谢帮助!

1 个答案:

答案 0 :(得分:5)

显然我无法登录正确知道,因为我在防火墙后面,无论如何我似乎已经修复了它,但是愚蠢的错误:

查询中的‘->extend(‘PagerDefault’)扩展名必须是菊花链中的第一个函数。如果没有,则没有错误,但似乎没有调用该函数。

$query = db_select('loyalty_codes','lc')
        ->extend('PagerDefault')
        -> fields('lc',array('code','info','points','uid'))
        -> orderBy('lc.info','ASC')
        -> limit(5);//$limit);