Выводим форму модуля WEBFORM или CONTACT в popup окно (во всплывающее окно) в Drupal
Всем привет! Сегодня научимся закидывать форму обратной связи во всплывающее окно – чтобы красиво было. Для Drupal Задача – вывести форму обратной связи во всплывающем окне Для начала определим форму контактов в ноде (node) В Drupal 6 можно следующим образом:
<?php
require_once drupal_get_path('module', 'contact').'/contact.pages.inc';
print drupal_get_form('contact_mail_page');
?>
Далее подключаем скрипты colorbox (полностью архив плагина можно скачать на оф. сайте) – это скрипт, а точнее плагин, который позволяет использовать на сайте всплывающие popup окошки для фоток, видео и т.д. Можно подключать как и в шаблоне так и в документе php. Соответственно положил его я в корень сайта в папку /js/colorbox/
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> </script> <script type="text/javascript" src="/js/colorbox/jquery.colorbox-min.js"></script> <link type="text/css" rel="stylesheet" href="/js/colorbox/colorbox.css" /> <link type="text/css" rel="stylesheet" href="/js/colorbox/style.css" />
Далее прописываем тело скрипта (блок и функцию)
<a class="inline" href="#show-block">
<img alt="форма обратной связи" title="форма обратной связи" src="/userfiles/obr_sviaz2.png" /></a>
<div class="hidden">
<div id="show-block"><?php
require_once drupal_get_path('module', 'contact').'/contact.pages.inc';
print drupal_get_form('contact_mail_page');
?></div>
</div>
<script type="text/javascript">
(function($) {
$(document).ready(function() {
$("a.inline").colorbox({inline:true});
});
}(jQuery))
</script>
В Drupal 7 код, который вытащит тебе только форму с ноды типа webform. Выглядит так:
<?php
$block_recall = module_invoke('webform', 'block_view', 'client-block-1');
print $block_recall['content'];
?>
client-block-1 - id формы засунуть ее надо как раз в див id="show-block" который выводит блок внутри плагина colorbox. Проверяем – работает.




















Комментарии
не пробовал