ビューのエクスポーズドフィルターでAjaxを使用するが、そのビューのページャーでは使用しない


7

「ページ」ビューで実験しており、Ajaxを介してビューの公開されたフィルターを送信したいが、同じビューページャーではない(現在、BEFモジュールによって拡張された「分類用語を含む」フィルターのチェックボックスがある)。)

現在、ビュー設定の「詳細」列で「Ajaxを使用する:はい」を選択すると、ページャーと公開されたフィルターの両方がAjax経由で送信されます。公開されたフィルターのみがAjax経由で送信され、ページャーがデフォルトの "?page = X 'GETパラメーターを使用してページをリロードするようにする方法はありますか?

ビュー設定に「Use Ajax:No」を残して、何らかのフックを介して、何らかの形でajax機能を公開されたフォームに追加できると考えていました。(form_alter?)または、ページャーのajax機能を無効にするインラインJavaScriptを追加しますか?(これもフォームではありません。)

誰かが私を正しい道に向けることを願っています。(Drupal 7とビュー3を使用)

回答:


3

これまでに解決策/回避策を見つけたはずですが、同じ問題に直面しているときにこのスレッドが出てきたので、私のために働いた解決策を共有したいと思いました。

私がしたことは、jQueryのunbindメソッドを使用して、ページャーリンクからDrupalのAJAXイベントハンドラーを単に削除することだけでした。

$('.pager a').unbind();

イベントハンドラーが削除されると、ページネーションリンクはアンカータグ内に含まれるHREF URLにフォールバックします。


この方法は、[OK]を作品を除いて、ユーザーが変更した場合にも結合していないままになりますポケットベルフィルタ新しいリストは、そのリストの最初のページに開始されませんので、望ましくない値を、それがポケットベルが最後だったどんな数れる上で開始しますセットする。この種のイベントでポケットベルをやり直す方法があるはずです。いくつか試してみましょう。
2015年

1

Ajax関数の性質上、説明している内容が簡単になるとは思いません。

ここでは声を大にして考えます(タイプは?):ajaxをオンのままにし、結果を25に制限します。コンテキストフィルターにオフセットフィルターを追加します。デフォルトは「0」です。カスタムページング関数(ビューのカスタムフッター?テンプレート?)を使用し、コンテキストフィルターで使用するためのオフセット(およびフォーム値?)を含むリンクを生成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.