Довольно распространенная задача сделать вебформу которая появляется в сплывающем окне после клика по кнопке, это может быть или кнопка «обратная связь» или форма заказа товара «в один клик». В седьмом Друпале, это осуществляется очень просто, нужно сделать следующие:
- установить и включить модули Webform, Colorbox, Colorbox Node
- создать ноду с типом материала «webform», например урл которой будет node/123
- в настройках colorbox (admin/config/media/colorbox) включить чекбокс на Enable Colorbox load
-
создать блок и вставить туда:
<a class="colorbox-node" href="/node/123?width=600&height=530">обратная связь</a>
где: /node/123- урл ноды с вебформ width=600- ширина окна height=530- высота окна - вывести блок в сайдбар
Теперь при клике на «обратная связь» в колорбоксе будет появляться созданная вебформ, благодаря модулю Colorbox Node, в Colorbox будет выводиться не вся страница, а только содержимое div#node Для реализации «корзины в один клик», в вебформ можно добавить поле, назвать его «товар» или «название», и в настройках в Default value, написать токен %get[foo]. Затем в теме, в node.tpl.php вставить:
<a class="colorbox-node" href="/node/123?width=600&height=530&foo=<?php print $title; ?>">заказать</a>
Теперь при клике на «заказать» появиться вебформ в колорбоксе, где в поле «название» будет подставлен текст из $title страницы с товаром.