Drupal Paging模块不显示页数

时间:2010-09-01 08:51:05

标签: php drupal pagination

我正在完成对另一个程序员完成的drupal项目的一些编辑(我没有与他联系)。我是新手,并试图找出分页模块的工作原理。没有显示的页数。我想程序员添加了一些自定义模块或其他东西。

我在项目自己的主题文件夹中找到了一个名为“pager.php”的文件,该文件可能正在进行分页:

function _my_pager_link($page, $text, $class, $title) {
$query = array();
$query[] = drupal_query_string_encode(array(
    'page' => implode(',', $page)), array());
$querystring = pager_get_querystring();
if ($querystring != '') {
    $query[] = $querystring;
}
$attributes['title'] = $title;
$attributes['class'] = $class;
return l("<span>$text</span>", $_GET['q'], array('html' => TRUE,
    'attributes' => $attributes,
    'query' => count($query) ? implode('&', $query) : NULL));
}

function my_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 5) {
global $pager_page_array, $pager_total;

$curr = $pager_page_array[$element];
$total = $pager_total[$element];
$output = '';
if ($total > 1) {
    $output .= '<div class="pager">';
    if ($curr > 0) {
        $page_new = pager_load_array($curr - 1, $element, $pager_page_array);
        $output .= _my_pager_link($page_new, t('‹ previous'), 'pager-prev', t('Go to previous page'));
    }
    if ($curr < $total - 1) {
        $page_new = pager_load_array($curr + 1, $element, $pager_page_array);
        $output .= _my_pager_link($page_new, t('next ›'), 'pager-next', t('Go to next page'));
    }
    $output .= '<div class="cleaner"></div>';
    $output .= '</div>';
    }
return $output;
}

现在网络上只有“上一页”和“下一页”。我希望它是这样的 '上一页'... 2 3 4 ...'下一页'

如何在那里添加页面列表?

谢谢

2 个答案:

答案 0 :(得分:0)

复制并粘贴http://api.drupal.org/api/function/theme_pager/6

加盐和瞧!

答案 1 :(得分:0)

您需要像这样设置全局值:

global $pager_page_array, $pager_total;
$pager_page_array[0] = $your_page_count_goes_here;
$pager_total[0] = $your_page_total_goes_here;

然后您可以调用theme('pager', ...)或您可能拥有的任何自定义分页主题功能。