Создание формы обратной связи в Drupal 7 с помощью Webform.

image

26.06.12
Comments 13

Для Drupal есть замечательный модуль Webform, с помощью которого можно реализовать форму обратной связи на сайте, вот о нем мы сегодня и поговорим. Форма обратной связи неотъемлемая часть сайта, с помощью которой пользователь без лишних телодвижений сможет спросить вас о чем то, заказать какую-либо услугу или товар в письменном виде. С помощью модуля Webform можно реализовать очень продвинутую форму обратной связи с множеством различных настроек, но мы сегодня поговорим о самых основных из них.

Итак, как всегда проходим на сайт drupal.org и качаем модуль Webform. Затем заливаем его в папочку sites/all/modules и включаем на странице управления модулей. После этого на нашем сайте появится новый тип материалов Webform.

Давайте создадим нашу первую форму, для этого создайте публикацию типа материалов Webform. Заполним название страницы и дадим ей имя «Обратная связь», дальше пройдите вниз и нажмите «Сохранить», если возникнут проблемы с кодировкой тогда просто обновите страницу.

После того когда вы сохраните запись вы попадаете на страницу настройки опросника. Итак, давайте добавим самые необходимые поля, которые должны присутствовать в каждой веб-форме это имя, адрес электронной почты и текст сообщения.

Первое поле нашей веб-формы будет «Имя», впишите его, а тип пусть останется по умолчанию «строка текста», чуть правее можно выбрать стоит ли это поле делать обязательным для заполнения пользователем. В последующих настройках ничего трогать не нужно, за исключением того что нужно указать ключ для нашего текстового поля на латинском языке, с остальными настройками вы сможете поиграться самостоятельно.

Добавим следующее поле с названием «E-mai», но в настройках типа укажите «Электронная почта», это нужно для того чтобы осуществлялась проверка на правильность введения адреса электронной почты, в последующих настройках можно ничего не указывать и даже не прописывать ключ поля, ведь название поля у нас на латинице.

Ну и наконец-то последнее поле, которое мы назовем «Текст сообщения». В настройках типа укажите «Текстовая область». Нажмите на кнопку «Добавить» и пропишите ключ поля.

Вот так выглядеть должны выглядеть все поля.

Форма обратной связи В Drupal

Дальше приступим к настойкам оповещений.

Форма обратной связи В Drupal

Укажите адрес почты на который вы хотели бы получать письма, которые будут отправляться с помощью веб-формы, адресов можно указать сколько угодно, нажмите на кнопку «Добавить». В дальнейших настройках можете ничего не трогать. Сразу скажу, что на локальном сервере отправленные письма не будут отсылаться на электронную почту.

Ну вот, на этом можно сказать наша простейшая форма обратной связи готова. В следующем посте я расскажу, как сделать вывод такой веб-формы в модальном окне с помощью модуля Colorbox.

Tags: 

Комментарии

Sacret 12.07.12

"Сразу скажу, что на локальном сервере отправленные письма не будут отсылаться на электронную почту" - эту фразу стоило поместить не в последнем абзаце :)

admin 12.07.12

Все верно, исправил.

Владимир 22.10.12

Поискал на Вашем сайте пост, который Вы обещали разместить по теме вывода такой веб-формы в модальном окне с помощью модуля Colorbox, - и не нашел. А хотелось бы узнать, как это можно сделать. Может, посоветуете что?

С уважением

admin 23.10.12

Совсем забыл про свое обещание, вообщем там ничего сложного. Нужно установить колорбокс и вебформ, создать форму. Затем создаете для страницы этой формы отдельный шаблон page, например page--node--48.tpl.php, в этом шаблоне не должно быть ничего кроме <?php print render($page['content']); ?>. Все, теперь можете вызывать эту страницу через вот такую ссылку <a class="colorbox-load" href="<?php print $front_page; ?>node/48?width=500&height=400&iframe=true">Форма</a>

Владимир 26.10.12

Спасибо за полезную информацию.

admin 27.10.12

Получилось?

Денис 03.01.13

Сделат все по инструкциям опросник на 15 ноде - код ссылки расположил в блоке
результат -
Страница Не Найдена
Страница "/%3C?php%20print%20$front_page;%20?%3Enode/15?width=500&height=400&iframe=true" не найдена.

AlexFreem 22.05.13

У вас скорее всего фильтр стоит "Filtred HTML" или "FullHTML". А надо PHP Code

SiN 04.03.13

Дружище! Много уже у тебя подсмотрел, и из тьмы ресурсов по друпалу - этот один из самых полезных. Выручи! Нигlе найти инфу не могу!
Использую webform (опросник) как форму заказа услуги с сайта. То есть посетитель заходит, выбирает\вбивает параметры ну и т.д. как обычно.
Суть вопроса в том, что сделать бы удобный выбор с помощью элементов списка.
Короче - человек выбирает марку автомобиля, затем, соответственно, модель автомобиля. Например, есть Toyota, а в тоёте еще всякие Land Cruiser, Mark 2 и пр.
То есть у каждого элемента есть еще и подгруппа. Это вообще и в принципе возможно реализовать с помощью webform?
Чтобы если человек выбрал из группы именно toyota, то далее мог выбрать из подгруппы нужную ему модель, и ему не показывались модели из группы Nissan или Kia/
Заранее благодарен.

admin 05.03.13

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

sabeahealdisf1982 20.03.13

Эхх, я всегда думал, что можно сделать нормально, если думать головой

Денис 24.04.13

Не знаю почему, но по примеру не получилось, нашел совсем легкий путь http://dyomin.ru/node/66

mn 06.01.16

в самом начале статьи опишите подробнее новечку ничего не понятно, куда идти и что делать, скриншотов не хватает

Комментировать