it-swarm-es.com

¿Cómo se usa la superposición Drupal 7 en las pantallas de edición / nodo para sus ventanas emergentes cuando ya se está usando?

Estoy escribiendo un módulo que agrega un botón a los formularios de nodo/edición. Este botón debe mostrar un DIV/IFRAME en una caja de luz. Noto que Drupal 7 usa el nuevo módulo Overlay para páginas administrativas y de edición/nodo.

Entonces, mi pregunta es que como mi botón está en un nodo/página de edición, necesito superponer la superposición. ¿Hay alguna forma de acceder a la superposición y cambiar el índice z o simplemente escribo mi propio código de superposición para crear un efecto de caja de luz (superponiendo el nodo/superposición de edición)?

1
Camsoft

Es posible cambiar el índice Z utilizado por la superposición, pero no creo que sea necesario. Simplemente use para su superposición un índice Z que sea más alto que el utilizado por el módulo Superposición.

En el caso de que necesite saber cuándo se genera la superposición, o cómo se genera, debe verificar el código ejecutado por overlay_page_alter () , que es la implementación de hook_page_alter() made por overlay.module.

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;
  }
}
2
kiamlaluno