web-dev-qa-db-ja.com

ctoolsを使用してページの読み込み時にモーダルフォームを読み込む方法は?

ページの読み込み時にモーダルフォームを表示する問題があります。このフォームには、送信する3つのステップがあります。 CTools が最適です。私はdrupalの初心者です。そのため、すべてのチュートリアルctoolsを調べました。すべてのサンプル記事は、リンクをクリックしてモーダルフォームを表示する方法を示しています。しかし、リンクをクリックしないでモーダルフォームをロードする方法の例は見つかりません。 AJAX=を通じてページをロードした後に呼び出したいのですが、方法がわかりません。

アドバイスをお願いします。

6
ASergey

この投稿 私はしばらく前にCTools AJAXイベントを扱っています。独自のJavaScriptハンドラーを記述し、ページの読み込み時にそれを実行することを含みます。

    Drupal.CTools.AJAX.refreshElements = function() {
  var url = '/mymodule/ajax/refresh-elements';

  try {
    $.ajax({
      type: "POST",
      url: url,
      data: { 'js': 1, 'ctools_ajax': 1},
      global: true,
      success: Drupal.CTools.AJAX.respond,
      error: function(xhr) {
        Drupal.CTools.AJAX.handleErrors(xhr, url);
      },
      complete: function() {
      },
      dataType: 'json'
    });
  }
  catch (err) {
    alert('An error occurred while attempting to process ' + url);
    return false;
  }

  return false;
};
$(document).ready(Drupal.CTools.AJAX.refreshElements);

URLをモジュールのコールバックURLに設定します。最後の行は、ページの読み込み時にajaxが発生するように指示していますが、これは、必要な正確なイベントに応じて発生するように置き換えることができます。

5
John

この記事 zrogerはこの正確な主題について少し古いかもしれませんが、あなたはそれを調べましたか?

1
pcambra