¿Cómo muestro contenido en una superposición?

18

Quiero mostrar algo de contenido, devuelto por una llamada AJAX en una superposición o ventana emergente.

¿Tienes alguna idea de cómo puedo hacerlo?

Sameer
fuente

Respuestas:

8

Si está utilizando Drupal 7, puede utilizar la superposición administrativa con un módulo personalizado.

Necesitará 3 ganchos en su archivo CUSTOM_MODULE_NAME_HERE.module:

/**
 * 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;
}
Gueno
fuente
3

La forma más fácil es implementar un módulo personalizado simple que haga lo siguiente:

  • Implementa hook_menu () y define una devolución de llamada de página personalizada
  • Devuelva el contenido que desea en su página de devolución de llamada
  • Incluya su complemento de lightbox jQuery favorito (ya sea a través de un módulo Drupal o a mano)
  • Agregue un archivo javascript personalizado a través de drupal_add_js ()
  • En su archivo javascript personalizado, enlace el evento de su elección y haga que el complemento lightbox cargue contenido externo desde la URL en su hook_menu ()

Si lo prefiere, siempre puede hacer que su menú de enlace devuelva el contenido en formato JSON, utilizando drupal_json () y lo agregue como html en línea al lightbox, en lugar de hacer referencia a un archivo externo.

Alex Weber
fuente
2

Una forma muy fácil de hacer esto desde el nodo Display como una ventana emergente : hay muchas soluciones para este tipo de cosas. Lo haría en la capa de tema para tener algo realmente ligero. También puede usar la variedad de módulos emergentes para esto. Una forma simple de hacer esto es usar el módulo Lightbox2, consulte esta página de documentación: http://drupal.org/node/252260

ipwa
fuente
2

Para mostrar el contenido de una página completa en una superposición (ventana emergente), use el módulo overlay_path .

Instale el módulo y, en la configuración, incluya la URL de la página que debe mostrar como una superposición (ventana emergente).

smsivaprakaash
fuente
0

puede usar algunos jquery y css simples como se menciona aquí y cargar una página externa con ajax.

ayush
fuente
Hola amigo, gracias por tu respuesta ... Pero ya lo he intentado con esto ... Pero tengo algunos problemas ... ¡¡¡Así que estoy buscando otra alternativa ... !!
Sameer
1
La forma correcta de hacerlo es mediante la utilización de las API de superposición centrales, si están disponibles.
Sivaji
Estoy totalmente de acuerdo con Bart. Quizás este sitio se haya mudado aquí: jquerytools.org/documentation/overlay .
Sk8erPeter