寻呼机号码与drupal 7中的URI字符串不匹配?

时间:2012-12-19 06:57:59

标签: drupal drupal-7 pager

如何使寻呼机号码与URI字符串匹配?

例如:当我点击寻呼机中的数字3转到第3页但是URI是“?page = 2”而不是“?page = 3”。这种分页不像我以前见过的任何其他分页那样正常。我该如何解决?

感谢!!!

2 个答案:

答案 0 :(得分:1)

网址中的页面属性直接在查询中使用,因此如果省略,页面将获得0作为值。这是正常的,因为Drupal做了像这样的事情。

现在,如果你需要更改它,你必须为每个查询改变arround查询,为limit()或range()方法添加+1。

答案 1 :(得分:1)

您可以通过实施hook_url_outbound_alter()hook_url_inbound_alter()

来实现

使用第一个钩子,您可以更改从Drupal输出的链接;你会增加$options['query']['page']的值 使用第二个钩子,您可以更改从Drupal接收的链接;你应该在URL中找到'?page='字符串,并减少该字符串之后的数字。

请注意,如果页面有多个寻呼机,$_GET['page']可以是'1,2,4,5,6'之类的字符串。请参阅pager_find_page()的代码。

此外,hook_url_outbound_alter()会在$options中收到查询参数,而hook_url_inbound_alter()只会收到该网址的字符串,其中也包含查询部分。