タグ付けされた質問 「ajax」

JavaScript / PHPコードに関する質問に使用して、非同期Webアプリケーションを作成します。

1
ファセットAPIおよびエンティティリファレンスのオートコンプリート
Drupal 7では、2つのコンテンツタイプがあります。 市 求人。「City」という名前のエンティティ参照CCKフィールドがあり、Cityタイプのノードエンティティを受け入れます。 私はまた、ファセットAPIを備えたapachesolrモジュールを使用しています。ユーザーが都市ごとにオファーをフィルターできるようにしたいと考えています。ただし、データベースには何千もの都市があるため、「リンク」ウィジェットは使用できません。 エンティティリファレンスモジュールのオートコンプリートウィジェット(またはhttps://drupal.org/project/entityreference_autocomplete、またはその他のウィジェット)をファセットAPI と簡単に統合するにはどうすればよい ですか?
7 entities  ajax  search 

2
ビューのエクスポーズドフィルターでAjaxを使用するが、そのビューのページャーでは使用しない
「ページ」ビューで実験しており、Ajaxを介してビューの公開されたフィルターを送信したいが、同じビューページャーではない(現在、BEFモジュールによって拡張された「分類用語を含む」フィルターのチェックボックスがある)。) 現在、ビュー設定の「詳細」列で「Ajaxを使用する:はい」を選択すると、ページャーと公開されたフィルターの両方がAjax経由で送信されます。公開されたフィルターのみがAjax経由で送信され、ページャーがデフォルトの "?page = X 'GETパラメーターを使用してページをリロードするようにする方法はありますか? ビュー設定に「Use Ajax:No」を残して、何らかのフックを介して、何らかの形でajax機能を公開されたフォームに追加できると考えていました。(form_alter?)または、ページャーのajax機能を無効にするインラインJavaScriptを追加しますか?(これもフォームではありません。) 誰かが私を正しい道に向けることを願っています。(Drupal 7とビュー3を使用)
7 ajax  views 

1
正しいAJAXプラクティス
「オンラインディスカッション」と呼ばれるコンテンツタイプ(以降、ODと呼ばれます)と「オンラインディスカッション返信」と呼ばれるコンテンツタイプ(以降、ODRと呼ばれます)があります。エンティティ参照(drupal.org/project/entityreference)を相互に持つ。 1つのODRが(フロントエンドのカスタムフォームを介して)作成されると、その「親」(作成されたページのOD)を参照し、対応するエンティティ参照(drupal.org/project/cer)を介して同じことが逆に発生します。 ODのページでは、テーマ設定により、参照されているODRの特定の量(最新の10個)が表示されます。現時点では、ビューやパネルの関与なしにレンダリングされたエンティティとして表示されますが、必要に応じて変更することもできます。 各ODRには返信フォームの独自のインスタンスがあり、引用機能が強化されています。 また、ODRは、カスタムフロントエンドフォームを介して、特定のロールからのコメントを受け入れることもできます。 要求事項: 1)以前の(すべてまたはバッチの)応答をAJAXでロードする方法が必要です。現在、jQuery ajaxコールバックを起動して、それに応じて以前のODRをフェッチするビューページにアクセスし、それらのHTMLをDOMに挿入しています。これは機能しますが、200を超えるノードが参照されるテストケースシナリオでは、しばらく時間がかかるようです 2)一定の時間間隔の後、新しいODRを探し、それらに追加して、ODに「ライブライク」な動作を与える方法が必要です。現時点ではこれを同じ方法で行っていますが、問題なく動作するようです。 3)サイトに来る新しい要素にDrupal Behaviorsを適用して、コンテキストリンクが機能するようにするなどの効率的な方法が必要です。Drupal.attachBehaviors(context);を使用してそれを行いました。しかし、問題があります。 これまでの問題: I.同じページ上の同じフォームの複数のインスタンス。 Drupalは最初のODページのロード時にdrupal_html_id()を処理しますが、AJAXを使用する方法はIDの一意性を壊します。たとえば、初期ロードに10個のフォームがあり、AJAXを介して2個追加すると、全体として生成されたビューのHTMLを取得するため、最初の2個のIDが繰り返されます。 II。「以前のすべてのODRをロードする」ケースでのパフォーマンスの問題。かなり自明です。200以上のエンティティをプルし、それらのHTMLを挿入するのはかなり大変です。 III。Drupal.attachBehaviors-私が説明したようにAJAXを使用すると、コンテキストリンクのHTMLは問題なく生成されます。関係するJavaScriptで問題が発生します。数時間の調査の後、これに関するドキュメントがほとんどないため、私はその問題をかなり解決したDrupal Behaviorsに出会いましたが、対処する新しい一連の問題が発生しました。 onLoadイベントが動作になり、AJAXイベントが発生するたびに実行され、複数のイベントバインディングが発生する(現時点ではバインドソリューションの前にバインド解除) 複数のフォームが使用するテキスト領域の縮小などの一部のonLoadイベントは、使いやすさの問題を引き起こします。たとえば、返信またはコメントを入力すると、定期的なajax呼び出しによって新しいODRがサイトに送信され、テキスト領域が折りたたまれます。 jQueryを介してすべての可能性を確実に処理するためにコードを管理するのはかなり面倒で段階的に困難 それで、最後に、質問: 説明されている望ましい結果を達成するためのDrupalコンテキストのベストプラクティスは何ですか?

1
AJAXコールバック関数が呼び出されたことがない
信じられないほど簡単なことで問題があります。multiselect-form要素の要素を選択すると、テキストフィールドが有効になります。私が抱えている問題は、Drupalが指定したコールバック関数を取得できないことです。 ここでmultiselect-elementを作成します。 $form['foocat'] = array( '#type' => 'fieldset', '#title' => t('Manage subcategories'), '#prefix' => '<div class="fieldset">', '#suffix' => '</div>', ); $form['foocat']['subcategories'] = array( '#type' => 'select', '#default_value' => '', '#title' => $foocategory, '#options' => $options, '#ajax' => array( 'callback' => 'edit_displayname_callback', 'wrapper' => 'displayname', ), '#attributes' => array('id' => 'foocats',), …
7 forms  ajax 

2
Drupal AJAXは1回だけ起動します
Drupal 7では、次のことを実行したいフォームがあります。 単純な2列のテーブルにオプションのリストを表示する ドロップダウンリストからアクションを選択すると、AJAXが起動し、テーブルのオプションが置き換えられます 私はコードを書いていて、Drupalは最初に選択を選択したときにのみAJAXに値をポストします。これはフォームの「アイテム」タイプでは機能しませんか?ページには他のフォームもありますが、フォームIDはフォームフィールドと同様に一意です。 $form['new_date'] = array( '#type' => 'select', '#title' => 'Delivery Date', '#options' => $date, '#ajax' => array( 'callback' => 'delivery_date_weekends', 'wrapper' => 'dates-ajax', 'method' => 'replace', 'effect' => 'fade', ), ); $form['date_weekend'] = array( '#type' => 'item', '#prefix' => '<div id="dates-ajax">', '#suffix' => '</div>', '#markup' => …
7 7  forms  ajax 

3
オートコンプリートテキストフィールドウィジェット?
テキストフィールド用のDrupal 7オートコンプリートウィジェットを知っている人はいますか?オートコンプリートウィジェットを試しましたが、Drupal 7には「オートコンプリートの許可値リスト」ウィジェットが存在しないようです。他の2つのウィジェットのみが表示されます。私の目標は、プレーンテキストを保存することですが、ユーザープロファイルフィールドからオートコンプリートします。ありがとう!
7 entities  ajax  7 

7
Drupal ajax呼び出しが完了したときにJavaScript関数をトリガーするにはどうすればよいですか?
Drupal ajaxが何かをDOMに挿入した後で、追加の処理を行う必要があります。jQueryを使用すると、これは頭の痛いほど単純でしたが、私がDrupal 7でそれを行う方法を理解することはできません。 私のajax化されたリンクに何かを追加しますか?ビヘイビアのアタッチについて何か読みました...混乱が生じています...
7 7  ajax  javascript 

4
#AJAXとFormAPIのデバッグ
#ajaxの操作中に現在の '$ form_state'変数を表示する最も簡単な方法は何ですか? 各ajaxロード時にdpm()を自動的に更新する方法はありますか? 問題がある場合は、ノード送信フォームでajaxをテストしています。
7 forms  ajax  debugging 

1
ビューで使用されるajaxは前処理フックを呼び出しますか?
たくさんのフィールドがあるビューがあり、それらのフィールドを次のようにスタイリングしています: views-view-fields.html.twig 私の.themeファイルでは、前処理関数を使用して上記のテンプレートに追加の変数を渡しています。 function theme_preprocess_views_view_fields(&$vars) { $vars['my_var'] = 'hello'; } したがって、twigテンプレートでは、次のようなことができます。 {% for field in fields -%} {{my_var}} {%- endfor %} これは、最初にロードされたフィールドのチャームのように機能しますが、[さらに読み込む]をクリックするか、公開されたフィルターを使用してビューをフィルタリングすると、ロードされた他の要素にはmy_varがなくなります。 ここで、my_varをテンプレートファイルに直接「キンティング」します。Ajaxで読み込まれた他のすべての要素ではmy_varがNULLであることを確認しました。これにより、問題は、theme_preprocess_views_view_fieldsが1回呼び出され、ページが初めて読み込まれ、Ajax呼び出しから完全に無視されることにあると思いました 。 この前処理は、Drupalがビュー自体で実行しているAjax呼び出しによって呼び出されて処理されるべきではありませんか? そうでない場合、他の要素がロードされたときにDrupalにクエリを実行してこのフックを再実行する方法はありますか? ありがとう!
6 views  theming  8  ajax 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.