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


Drupal Pager is producing POST parameters as part of the URL

我真的不明白为什么会这样,但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会产生这样的链接吗?

我能够通过更改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;
}