Como mostro o conteúdo em uma sobreposição?


18

Quero exibir algum conteúdo retornado de uma chamada AJAX em uma sobreposição ou pop-up.

Você tem alguma idéia de como eu posso fazer isso?

Respostas:


8

Se você estiver usando o Drupal 7, poderá usar a sobreposição administrativa com um módulo personalizado.

Você precisará de 3 ganchos no seu arquivo 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

A maneira mais fácil é implementar um módulo personalizado simples que faça o seguinte:

  • Implemente hook_menu () e define um retorno de chamada de página personalizado
  • Retornar o conteúdo que você deseja no retorno de chamada da sua página
  • Inclua seu plugin favorito do jQuery lightbox (via módulo Drupal ou manualmente)
  • Adicione um arquivo javascript personalizado via drupal_add_js ()
  • No seu arquivo javascript personalizado, vincule o evento de sua escolha e faça com que o plug-in da lightbox carregue conteúdo externo do URL no seu hook_menu ()

Se preferir, você pode sempre fazer com que o menu do gancho retorne o conteúdo no formato JSON, usando drupal_json () e adicione-o como html embutido à mesa de luz, em vez de fazer referência a um arquivo externo.


2

Uma maneira muito fácil de fazer isso no nó Display como uma janela pop-up : Existem muitas soluções para esse tipo de coisa. Eu faria isso na camada do tema para ter algo realmente leve. Você também pode usar a variedade de módulos pop-up para isso. Uma maneira simples de fazer isso é usar o módulo Lightbox2, consulte esta página de documentação: http://drupal.org/node/252260


2

Para mostrar todo o conteúdo da página em uma sobreposição (pop-up), use o módulo overlay_path .

Instale o módulo e, na configuração, inclua o URL da página que você precisa mostrar como uma sobreposição (pop-up).


0

você pode usar alguns jquery e css simples, como mencionado aqui, e carregar uma página externa pelo ajax.


ei amigo, obrigado pela sua resposta .. mas eu já tentei com isso .. mas tendo alguns problemas .. então eu estou procurando alguma outra alternativa .. !!
Sameer

11
A maneira correta de fazer isso é utilizando as principais APIs de sobreposição, se disponíveis.
Sivaji

Eu concordo totalmente com Bart. Talvez este site tenha sido movido para cá: jquerytools.org/documentation/overlay .
Sk8erPeter

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.