如何使寻呼机号码与 URI 字符串匹配?
例如:当我在寻呼机中单击数字 3 以转到第 3 页时,但 URI 是“?page=2”而不是“?page=3”。这种分页不像我以前遇到的任何其他分页那样正常。我该如何解决?
谢谢!!!
URL 中的page属性直接在查询中使用,因此如果省略,page将获得 0 作为值。这很正常,因为 Drupal 会做这样的分页操作。
现在,如果您需要更改此设置,则必须为每个查询进行查询更改,将 +1 添加到 limit() 或 range() 方法。
您可以通过实现hook_url_outbound_alter()和hook_url_inbound_alter()来做到这一点。
使用第一个钩子,您可以更改从 Drupal 输出的链接;你会增加$options['query']['page']
.
使用第二个钩子,您可以更改从 Drupal 接收到的链接;您应该'?page='
在 URL 中找到该字符串,并减少该字符串后面的数字。
请记住,如果页面有多个寻呼机,它$_GET['page']
可以是一个字符串。请参阅pager_find_page()'1,2,4,5,6'
的代码。
此外,hook_url_outbound_alter()
在 中接收查询参数$options
,而hook_url_inbound_alter()
仅接收 URL 的字符串,其中还包含查询部分。