Jak wyświetlić zawartość w nakładce?


18

Chcę wyświetlić zawartość zwróconą z wywołania AJAX w nakładce lub wyskakującym okienku.

Czy masz pomysł, jak to zrobić?

Odpowiedzi:


8

Jeśli używasz Drupala 7, możesz skorzystać z nakładki administracyjnej z niestandardowym modułem.

Będziesz potrzebował 3 haczyków w pliku 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

Najprostszym sposobem jest wdrożenie prostego modułu niestandardowego, który wykonuje następujące czynności:

  • Implementuj hook_menu () i definiuje niestandardowe wywołanie zwrotne strony
  • Zwróć żądaną treść w wywołaniu zwrotnym strony
  • Dołącz swoją ulubioną wtyczkę jQuery lightbox (za pośrednictwem modułu Drupal lub ręcznie)
  • Dodaj niestandardowy plik javascript za pomocą drupal_add_js ()
  • W niestandardowym pliku javascript powiąż wybrane wydarzenie i spraw, aby wtyczka lightbox ładowała zawartość zewnętrzną z adresu URL w hook_menu ()

Jeśli wolisz, zawsze możesz poprosić menu hook o zwrócenie treści w formie JSON za pomocą drupal_json () i dodanie jej jako wbudowanego HTML do lightbox, zamiast odwoływania się do zewnętrznego pliku.



2

Aby wyświetlić całą zawartość strony w nakładce (popup), użyj modułu overlay_path .

Zainstaluj moduł iw konfiguracji u podaj adres URL strony, którą musisz pokazać jako nakładkę (popup).


0

możesz użyć prostych jquery i css, jak wspomniano tutaj, i załadować zewnętrzną stronę przez ajax.


hej kolego, dziękuję za odpowiedź .. Ale już próbowałem z tym .. Ale mam pewne problemy .. Więc szukam innej alternatywy .. !!
Sameer

1
Właściwy sposób to zrobić, wykorzystując podstawowe interfejsy API nakładek, jeśli są dostępne.
Sivaji

Całkowicie się zgadzam z Bartem. Być może ta strona została przeniesiona tutaj: jquerytools.org/documentation/overlay .
Sk8erPeter

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.