如何使寻呼机号码与URI字符串匹配?
例如:当我点击寻呼机中的数字3转到第3页但是URI是“?page = 2”而不是“?page = 3”。这种分页不像我以前见过的任何其他分页那样正常。我该如何解决?
感谢!!!
答案 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()
只会收到该网址的字符串,其中也包含查询部分。