ruonline.info
Главная

Подлив

Подлив

Эта статья посвящена одному из способов сделать в 1с-Битрикс форму в всплывающем окне. Достоинства метода:
- можно использовать любые формы 1с-Битрикс, которые выводятся компонентом. Например, добавление элемента инфоблока или веб-форма.
- всплывающее окно создается «на лету» при помощи javascript и изменяет свой размер в зависимости от количества контента внутри.
- весь процесс работы формы, вывода ошибок и результата происходит при помощи AJAX без перезагрузки окна.

Готовим javascript

Для создания всплывающих окон воспользуемся плагином jquery.fancybox. Подключаем его в шаблоне сайта или непосредственно на странице, где будет ссылка для вызова окна, предварительно скопировав содержимое архива на сайт (в примере это /js/fancybox/).


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="/js/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="/js/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript">
$(function() {
     // ссылка для вызова окна должна иметь класс "popup"
       $('a.popup').fancybox({
            'overlayShow': false, // значения параметров можно посмотреть на сайте разработчика
                'padding': 0,
              'margin' : 0,
              'scrolling' : 'no',
              'titleShow': false,
                'type': 'ajax',
          'href': '/ajax_popup.php' // описание скрипта будет дано ниже по тексту:)
        });
});
</script>
<a class="popup" href="">Открыть окно</a>

Готовим форму

Итак, скрипт вызова формы будет находиться в файле /ajax_popup.php — он упоминался в javascript-коде выше. Создаем этот файл как обычную страницу в 1с-Битрикс, кладем и настраиваем!!! на ней нужный компонент, при необходимости изменения внешнего вида копируем шаблон. В процессе настройки не забудьте поставить галочку на «Включить режим AJAX». Если ее нет, не отчаивайтесь, пропишем руками позже. Далее, открываем страницу на редактирование в режиме php и находим код вызова компонента. Сделать это просто, он всегда начинается с текста ‘<?$APPLICATION->IncludeComponent(‘ и заканчивается первой попавшейся ‘);?>’.

Все что выше этого куска кода заменяем на


<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");?>
<script type="text/javascript" src="/bitrix/js/main/ajax.js"></script>

Prolog_before.php подключит необходимые системе файлы без вывода шапки шаблона сайта, она в всплывающем окне не нужна. Скрипт ajax.js нужен для работы компонентов в режиме ajax.

Все что ниже подключения компонента заменяем на


<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");?>

Epilog_after.php подключит необходимые системе файлы без вывода подвала шаблона сайта.

Все, можно кликать на ссылку (которая на странице с javascript’ом и имеет класс «popup») и любоваться результатом:)

Если нет настройки «Включить режим AJAX»

Заставить работать в режиме AJAX можно практически любой компонент в системе. Если нет необходимой группы параметров в окне настроек, то можно поступить 2 способами — добавить нужные параметры в .parameters.php шаблона компонента (об этом можно почитать в документации), или вписать напрямую в код вызова строки:


     "AJAX_MODE" => "Y",  // режим AJAX
    "AJAX_OPTION_SHADOW" => "N", // затемнять область
     "AJAX_OPTION_JUMP" => "N", // скроллить страницу до компонента
        "AJAX_OPTION_STYLE" => "Y", // подключать стили
       "AJAX_OPTION_HISTORY" => "N",

Для тестового примера с iblock.element.form.add.form код с добавленными параметрами будет выглядеть так:


<?$APPLICATION->IncludeComponent("bitrix:iblock.element.add.form", "", array(
 "IBLOCK_TYPE" => "catalog",
   "IBLOCK_ID" => "7",
   // ... куча свойств ...
      "CUSTOM_TITLE_DETAIL_PICTURE" => "",
  "AJAX_MODE" => "Y",  // режим AJAX
    "AJAX_OPTION_SHADOW" => "N", // затемнять область
     "AJAX_OPTION_JUMP" => "N", // скроллить страницу до компонента
        "AJAX_OPTION_STYLE" => "Y", // подключать стили
       "AJAX_OPTION_HISTORY" => "N",
 ),
   false
);?>

Указанным способом можно показывать не только формы, но и любой другой статический и динамический контент.

Похожие записи

Если вам понравилась статья, подписывайтесь на обновления блога по rss или присоединяйтесь в twitter


Поделиться ссылкой с друзьями:

Схема иж юпитер 5 приборка 469
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Подлив
Теги:

Вязание кружевных изделий крючком  Красивая статуэтка в подарок  Как сделать основу для колонок  Как сделать кекс в хлебопечке мулинекс рецепт  Как показать подарки в контакте  Кисточки для акрилового маникюру  Инвестирование в ценные бумаги и акции в  Схема каркаса гкл на стены  Дерево из проволоки с монетками своими руками  Приступ поджелудочной в домашних условиях  Схема телевизора techno ts 2120u  Креативный подарок на день рождения учителю  Прогулки по санкт-петербургу схемы  Коты поделки на даче своими руками  Как сделать плавный градиент в фотошоп  Поздравления на дембель от родителей  Как сделать префиксы на сервере minecraft  Как сделать для себя киви кошелек  Макияж для глаз зрительно сделать глаза больше  Лады на электрогитаре своими руками  Поделка игрушек из коробок  

 Рейтинг@Mail.ru
Закрыть ... [X]
Карта сайта