【发布时间】:2011-04-22 04:40:02
【问题描述】:
我有 3 个内容类型为“mycontenttype”的节点。我正在尝试设置一个可排序/可分页的表格,每页限制为 10 个项目。
在这段代码中,$nids 只返回 3 个节点。我实际上是在运行 node_load_multiple($nids) 然后循环通过这些节点来构建 $rows 变量。只出现了 3 个。
问题:分页器正在渲染 4 个页面。
预期:应该没有分页器渲染,因为我在查询或计数查询中没有 10 个节点。
任何见解将不胜感激。
<?php
function mymodule_create_a_pager_table() {
$query = db_select('node', 'n')->extend('PagerDefault')->extend('TableSort')->element('my_custom_id');
$query->fields('n', array('nid'));
$query->condition('n.type', 'mycontenttype');
$query->condition('n.status', 1);
$count_query = clone $query;
$query->setCountQuery($count_query);
$query->limit(10);
$header = array(array('data' => 'Title', 'sort' => 'asc', 'field' => 'n.title'), 'column 2', 'column 3');
$query->orderByHeader($header);
$nids = $query->execute()->fetchCol();
// ... building $rows array for display only here
$output = theme('table', array('header'=> $header, 'rows' => $rows));
$output .= theme('pager', array('element' => 'my_custom_id', 'quantity' => 10));
return $output;
}
?>
输出
节点 1 标题 | col2 值 | col3 值
节点 2 标题 | col2 值 | col3 值
节点 3 标题 | col2 值 | col3 值
1 2 3 4 下一个 › 最后一个 »
【问题讨论】: