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ć?

Sameer
źródło

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;
}
Gueno
źródło
5

Zgodnie z powyższą linią odpowiedzi ipwa, moduł ścieżek nakładki jest prosty i łatwy w użyciu dla tego typu rzeczy.

kbrinner
źródło
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.

Alex Weber
źródło
2

Bardzo prosty sposób na zrobienie tego z węzła Display jako wyskakującego okienka : Istnieje wiele rozwiązań dla tego rodzaju rzeczy. Zrobiłbym to w warstwie motywu, aby mieć coś naprawdę lekkiego. Możesz również użyć do tego różnych modułów wyskakujących. Jednym prostym sposobem na to jest skorzystanie z modułu Lightbox2, sprawdź stronę z dokumentacją: http://drupal.org/node/252260

ipwa
źródło
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).

smsivaprakaash
źródło
0

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

ayush
źródło
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