Как открыть в Fancybox любую страницу сайта

Код, по клику на элементе #fancy-contact открывает в Fancybox форму контактов расположенную по адресу /contact

Drupal 6:

  1. $(function() {
  2.   $('#fancy-contact').click(function() {
  3.     $.fancybox.showActivity();
  4.     $.get(Drupal.settings.basePath + 'contact', function(data) {
  5.       var form = $('#contact-mail-page', data);
  6.       $.fancybox({content:form});
  7.     });
  8.     return false;
  9.   });
  10. });

В Drupal 7 нужно дополнительно обернуть код в:

  1. (function($) {
  2.   ...
  3. }(jQuery));

Алгоритм такой:

  1. По клику показываем анимацию загрузки.
  2. Подгружаем целиком нужную страницу (в нашем случае это /contact).
  3. Извлекаем из неё нужный контент (в нашем случае это форма с идентификатором contact-mail-page).
  4. Показываем извлечённый контент в Fancybox.

Источник

Теги: