2

ポケットベル番号をURI文字列と一致させるにはどうすればよいですか?

例:ポケットベルの番号3をクリックしてページ3に移動したが、URIが「?page = 3」ではなく「?page=2」の場合。このページネーションは、私が以前に会った他のページネーションのように正常ではありません。どうすれば修正できますか?

ありがとう!!!

4

2 に答える 2

1

これを行うには、hook_url_outbound_alter()とhook_url_inbound_alter(を実装します。

最初のフックを使用して、Drupalから出力されるリンクを変更します。の値を増やします$options['query']['page']
2番目のフックを使用して、Drupalから受信するリンクを変更します。URLで文字列を見つけ、その'?page='文字列の後の数を減らす必要があります。

ページに複数のポケットベルがある場合の$_GET['page']ように、文字列になる可能性があることに注意してください。pager_find_page()'1,2,4,5,6'のコードを参照してください。

また、hook_url_outbound_alter()でクエリパラメータ$optionshook_url_inbound_alter()受け取りますが、URLの文字列だけを受け取ります。この文字列には、クエリ部分も含まれています。

于 2012-12-22T13:03:50.490 に答える
1

URLのpage属性はクエリで直接使用されるため、省略した場合、pageは値として0を取得します。Drupalはこのようなページを作成するので、これは正常です。

これを変更する必要がある場合は、すべてのクエリに対してクエリの変更を回避して、limit()またはrange()メソッドに+1を追加する必要があります。

于 2012-12-20T15:10:35.700 に答える