Comment afficher du contenu dans une superposition?


18

Je veux afficher du contenu, renvoyé d'un appel AJAX dans une superposition ou une popup.

Avez-vous une idée de comment je peux le faire?

Réponses:


8

Si vous utilisez Drupal 7, vous pouvez utiliser la superposition administrative avec un module personnalisé.

Vous aurez besoin de 3 crochets dans votre fichier 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

Le moyen le plus simple consiste à implémenter un module personnalisé simple qui effectue les opérations suivantes:

  • Implémentez hook_menu () et définit un rappel de page personnalisé
  • Renvoyez le contenu que vous souhaitez dans votre rappel de page
  • Incluez votre plugin lightbox jQuery préféré (via un module Drupal ou à la main)
  • Ajouter un fichier javascript personnalisé via drupal_add_js ()
  • Dans votre fichier javascript personnalisé, liez l'événement de votre choix et faites en sorte que le plugin lightbox charge le contenu externe à partir de l'URL dans votre hook_menu ()

Si vous préférez, vous pouvez toujours demander à votre menu hook de renvoyer le contenu sous forme JSON, à l'aide de drupal_json () et de l'ajouter en tant que code HTML en ligne à la lightbox, au lieu de référencer un fichier externe.


2

Un moyen très simple de le faire à partir du nœud d'affichage en tant que fenêtre contextuelle : il existe de nombreuses solutions pour ce genre de choses. Je le ferais dans la couche thème pour avoir quelque chose de vraiment léger. Vous pouvez également utiliser la variété de modules popup pour cela. Une façon simple de le faire est d'utiliser le module Lightbox2, consultez cette page de documentation: http://drupal.org/node/252260


2

Pour afficher le contenu d'une page entière dans une superposition (popup), utilisez le module overlay_path .

Installez le module et dans la configuration u incluez l'url de la page que vous devez afficher en superposition (popup).


0

vous pouvez utiliser quelques jquery et css simples comme mentionné ici et charger une page externe par ajax.


Hé mon pote, merci pour votre réponse .. Mais j'ai déjà essayé avec ça .. Mais j'ai quelques problèmes .. Donc je cherche une autre alternative .. !!
Sameer

1
La bonne façon de procéder consiste à utiliser les API de superposition de base si elles sont disponibles.
Sivaji

Je suis totalement d'accord avec Bart. Peut-être que ce site a déménagé ici: jquerytools.org/documentation/overlay .
Sk8erPeter

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.