Drupal Pager正在生成POST参数作为URL的一部分

时间:2015-03-27 22:21:24

标签: php drupal drupal-7 pagination pager

我真的不明白为什么会这样,但是Pager会产生以下分页结果:

http://www.mywebsite.ca/reports-publications/reports/?field_executive_summary_value=&field_publication_date_value[value]&field_report_type_tid_selective=All&field_natural_resource_region_tid_selective=All&field_forest_district_tid_selective=All&field_keywords_tid_selective=All&page=1#

而不仅仅是:

http://www.mywebsite.ca/reports-publications/reports/?page=1

此外,“page = 1”代表第二页......就像在一个页面数组中,其中0实际上是第一个结果。

有谁知道为什么Pager会产生这样的链接?

1 个答案:

答案 0 :(得分:0)

我能够通过更改pager.inc文件来解决页码问题。

在pager_find_page函数中,

function pager_find_page($element = 0) {
  $page = isset($_GET['page']) ? $_GET['page'] : '';
  $page_array = explode(',', $page);
  if (!isset($page_array[$element])) {
    // Change here
    // $page_array[$element] = 0;
    $page_array[$element] = 1;
  }

  // Add this
  $page_array[$element]--;

  return (int) $page_array[$element];
}

,在theme_pager_link函数中,

if ($new_page = implode(',', pager_load_array($page_new[$element], $element, explode(',', $page)))) {
    // Change here
    // $parameters['page'] = $new_page;
    $parameters['page'] = $new_page + 1;
}