web-dev-qa-db-ja.com

コンテンツをオーバーレイで表示するにはどうすればよいですか?

AJAX呼び出しでオーバーレイまたはポップアップから返されたコンテンツを表示したい。

私がそれをどうやってできるかについて何か考えがありますか?

18
Sameer

Drupal 7を使用している場合は、カスタムモジュールで管理オーバーレイを使用できます。

CUSTOM_MODULE_NAME_HERE.moduleファイルには3つのフックが必要です。

/**
 * Implements hook_menu().
 */
function CUSTOM_MODULE_NAME_HERE_menu() {
  $items = array();
  $items['your/path/to/your/page'] = array(
     'page callback'    => 'CUSTOM_MODULE_NAME_HERE_page',
     'access arguments' => array('access content'),
     'type'             => MENU_NORMAL_ITEM,
  );
  return $items;
}

/**
 * Implements hook_admin_paths_alter().
 */
function CUSTOM_MODULE_NAME_HERE_admin_paths_alter(&$paths) {
    $paths['your/path/to/your/page'] = TRUE;
}

/**
 * page callback
 */
 function CUSTOM_MODULE_NAME_HERE_page(){
    $output = 'your page content';
    return $output;
}
8
Gueno

上記のipwaの応答に沿って、 overlay paths module は、このタイプのものに対してシンプルで使いやすいものです。

5
kbrinner

最も簡単な方法は、以下を実行する単純なカスタムモジュールを実装することです。

  • hook_menu() を実装し、カスタムページコールバックを定義します
  • ページコールバックで必要なコンテンツを返す
  • お気に入りのjQueryライトボックスプラグインを含めます(Drupalモジュールまたは手動で))
  • drupal_add_js() でカスタムJavaScriptファイルを追加します
  • カスタムJavaScriptファイルで、選択したイベントをバインドし、ライトボックスプラグインにhook_menu()のURLから外部コンテンツをロードさせます

必要に応じて、外部ファイルを参照する代わりに、フックメニューで常に drupal_json() を使用してJSON形式でコンテンツを返し、インラインhtmlとしてライトボックスに追加できます。

3
Alex Weber

ページコンテンツ全体をオーバーレイ(ポップアップ)で表示するには、 overlay_path モジュールを使用します。

モジュールをインストールし、構成に、オーバーレイ(ポップアップ)として表示する必要があるページのURLを含めます。

2
smsivaprakaash

これを行う非常に簡単な方法 ノードをポップアップウィンドウとして表示 :この種のものには多くの解決策があります。本当に軽いものにするために、テーマレイヤーでそれを行います。これには、さまざまなポップアップモジュールを使用することもできます。これを行う簡単な方法の1つは、Lightbox2モジュールを使用することです。このドキュメントページをチェックアウトしてください。 http://drupal.org/node/25226

2
ipwa

言及したようにいくつかの単純なjqueryとcss here を使用して、ajaxで外部ページをロードできます。

0
ayush

シンプルなダイアログモジュール は便利で、ポップアップページへのリンクを実装するのは簡単です

0
pico34