Come faccio a mostrare i contenuti in un overlay?


18

Voglio visualizzare alcuni contenuti, restituiti da una chiamata AJAX in un overlay o popup.

Hai idea di come posso farlo?

Risposte:


8

Se stai utilizzando Drupal 7, puoi utilizzare l'overlay amministrativo con un modulo personalizzato.

Avrai bisogno di 3 hook nel tuo file 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;
}


3

Il modo più semplice è implementare un semplice modulo personalizzato che procede come segue:

  • Implementa hook_menu () e definisce un callback di pagina personalizzato
  • Restituisce il contenuto desiderato nel callback della pagina
  • Includi il tuo plug-in jQuery lightbox preferito (tramite un modulo Drupal o manualmente)
  • Aggiungi un file javascript personalizzato tramite drupal_add_js ()
  • Nel tuo file javascript personalizzato, associa l'evento di tua scelta e fai caricare il plug-in lightbox contenuto esterno dall'URL nel tuo hook_menu ()

Se preferisci, puoi sempre fare in modo che il tuo menu hook restituisca il contenuto in formato JSON, usando drupal_json () e aggiungilo come HTML inline al lightbox, invece di fare riferimento a un file esterno.


2

Un modo molto semplice per farlo dal nodo Visualizza come finestra pop-up : ci sono molte soluzioni per questo tipo di cose. Lo farei nel livello del tema per avere qualcosa di veramente leggero. A tale scopo puoi anche utilizzare la varietà di moduli popup. Un modo semplice per farlo è usare il modulo Lightbox2, controlla questa pagina di documentazione: http://drupal.org/node/252260


2

Per mostrare l'intero contenuto di una pagina in un overlay (popup), utilizzare il modulo overlay_path .

Installa il modulo e nella configurazione includi l'URL della pagina che devi mostrare come overlay (popup).


0

puoi usare alcuni semplici jquery e css come menzionato qui e caricare una pagina esterna da ajax.


Ehi amico, grazie per la tua risposta .. Ma ho già provato con questo ... Ma ho dei problemi .. Quindi sto cercando qualche altra alternativa .. !!
Sameer

1
Il modo giusto per farlo è utilizzando le API di overlay di base, se disponibili.
Sivaji,

Sono totalmente d'accordo con Bart. Forse questo sito è stato spostato qui: jquerytools.org/documentation/overlay .
Sk8erPeter,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.