ノード/編集フォームにボタンを追加するモジュールを書いています。このボタンは、ライトボックスにDIV/IFRAMEをポップアップする必要があります。 Drupal 7は、管理ページとノード/編集ページに新しいオーバーレイモジュールを使用しています。
だから私の質問は、私のボタンがノード/編集ページにあるので、オーバーレイをオーバーレイする必要があります。オーバーレイにアクセスして変更したりZインデックスを作成したりする方法はありますか、またはライトボックス効果を作成するために独自のオーバーレイコードを作成するだけですか(ノードのオーバーレイ/オーバーレイの編集)。
オーバーレイで使用されるz-indexを変更することは可能ですが、私はそれが必要だとは思いません。オーバーレイには、Overlayモジュールで使用されるものよりも高いz-indexを使用するだけです。
オーバーレイがいつ出力されるか、またはどのように出力されるかを知る必要がある場合は、 overlay_page_alter() によって実行されるコードを確認する必要があります。 overlay.moduleによって作成されたhook_page_alter()
の実装。
function overlay_page_alter(&$page) {
// If we are limiting rendering to a subset of page regions, deny access to
// all other regions so that they will not be processed.
if ($regions_to_render = overlay_get_regions_to_render()) {
$skipped_regions = array_diff(element_children($page), $regions_to_render);
foreach ($skipped_regions as $skipped_region) {
$page[$skipped_region]['#access'] = FALSE;
}
}
$mode = overlay_get_mode();
if ($mode == 'child') {
// Add the overlay wrapper before the html wrapper.
array_unshift($page['#theme_wrappers'], 'overlay');
}
elseif ($mode == 'parent' && ($message = overlay_disable_message())) {
$page['page_top']['disable_overlay'] = $message;
}
}