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?

Sameer
fonte

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;
}
Gueno
fonte
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.

Alex Weber
fonte
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

ipwa
fonte
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).

smsivaprakaash
fonte
0

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

ayush
fonte
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