Як відобразити вміст у накладанні?


18

Я хочу відобразити деякий вміст, повернутий з AJAX-дзвінка в накладі або спливаючому вікні.

Чи маєте ви якесь уявлення про те, як я можу це зробити?

Відповіді:


8

Якщо ви використовуєте Drupal 7, ви можете використовувати адміністративне накладання за допомогою спеціального модуля.

У вашому файлі CUSTOM_MODULE_NAME_HERE.module знадобляться 3 гачки:

/**
 * 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

Найпростіший спосіб - це реалізувати простий спеціальний модуль, який виконує такі дії:

  • Реалізуйте mock_menu () та визначає зворотний виклик сторінки
  • Поверніть потрібний вміст у зворотному дзвінку на сторінці
  • Включіть улюблений плагін для лайтбоксу jQuery (або через модуль Drupal, або вручну)
  • Додайте спеціальний файл JavaScript через drupal_add_js ()
  • У власному файлі JavaScript прив'яжіть подію на ваш вибір і змусьте плагін лайтбокс завантажувати зовнішній вміст з URL-адреси у вашому_укрі ()

Якщо ви віддаєте перевагу, ви завжди можете в меню гачка повернути вміст у формі JSON, використовуючи drupal_json () та додати його як вбудований html у лайтбокс, замість посилання на зовнішній файл.


2

Дуже простий спосіб зробити це з вузла відображення як спливаючого вікна : Є багато рішень для подібних матеріалів. Я б зробив це в шарі теми, щоб було щось дійсно легке. Для цього також можна використовувати різноманітні спливаючі модулі. Один з простих способів зробити це - використовувати модуль Lightbox2, оформити сторінку цієї документації: http://drupal.org/node/252260


2

Щоб показати вміст цілої сторінки в накладанні (спливаюче вікно), використовуйте модуль overlay_path .

Встановіть модуль і в конфігурацію u включіть URL-адресу сторінки, яку потрібно показати як накладення (спливаюче вікно).


0

ви можете використовувати прості jquery та css, як згадувалося тут, і завантажувати ajax зовнішню сторінку.


ей, приятель, дякую за вашу відповідь .. Але я вже намагався з цим .. Але у мене є деякі проблеми .. Тож я шукаю іншу альтернативу .. !!
Самєр

1
Правильний спосіб зробити це, використовуючи основні API накладення, якщо вони доступні.
Сіваджі

Я повністю згоден з Баром. Можливо, цей сайт перемістився сюди: jquerytools.org/documentation/overlay .
Sk8erPeter

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.