Вы здесь

Drupal - Урок 14 - Создание опросов и страницы "Обратная связь" с помощью модуля Webform.

Очень часто на Drupal ru возникают вопросы, о том как создать форму контактов (или что-либо подобное). В поставке Drupal идет отличный модуль Contact, который реализует эту форму, а так же общение между пользователями сайта, Этот модуль используется на моем блоге (пока), а так же, если не ошибаюсь, на самом Drupal ru, но сегодня мы поговорим о модуле Webform. Он позволяет создавать опросы, страницы контактов, и многое другое. На одном из сайтов посвященных Drupal даже продают за $100 сборку простого магазина с использованием webform. Для начала его нужно установить, думаю с этим у вас проблем не возникнет. После установки у нас появляются 2 новых страницы на вкладке Administer: Webforms (Content management) — на которой отображаются все созданные Webforms, и Webform (Site configuration) — страница с основными настройками. drupal-lesson-webform-1.jpg На первой пока пусто, зайдем на вторую, посмотрим что тут можно изменить. Available components — выбираем какие компоненты будут доступны при создании форм. Markup — добавляет произвольный HTML (или даже PHP при желании). Date — Выбор даты. Time — Выбор времени. Textarea - поле для ввода текста. Pagebreak - элемент разбивает форму на страницы. Grid — сетка из радио кнопок. Hidden — скрытое поле, в нем можно хранить нужную нам информацию. Fieldset — позволяет группировать поля. Textfield - строка для ввода текста. Email - поле для ввода почтового адреса. File - позволяет пользователям прикреплять к форме файлы. Select — позволяет добавлять чекбоксы, радио-кнопки. Default e-mail values: From address — адрес с которого придет письмо с результатами. From name — имя отправителя. Default subject — Тема письма. Advanced options: Allow cookies for tracking submissions — разрешить использовать cookies, для предотвращения повторного заполнения формы пользователем. Default export format — формат экспорта по умолчанию. Default export delimiter — разделитель записей при экспорте по умолчанию. Submission access control — как контролировать доступ: по ролям, или не контролировать. Webforms debug — нужно ли вести лог. Работать с webform можно и без этих настроек. Давайте попробуем создать свой Webform. Кликните на «Create content → Webform», в меню navigation. drupal-lesson-webform-2.jpg Страница добавления webform во многом схожа со страницей добавления ноды (которой webform по сути и является). drupal-lesson-webform-3.jpgMenu settings — при создании webform, можно сразу создаить пункт меню на нее ссылающийся. Webform Settings Title — заголовок (обязательный параметр). Description — описание. Confirmation message or redirect URL — если введете сообщение, то оно будет показано пользователю после заполнения webform, если ссылку, то по ней пользователь будет перекинут. Webform access control — какие роли имеют доступ к форме. Webform mail settings: E-mail to address — почтовый адресс, на который будут направляться результаты заполнения webform, можно оставить пустым, а можнос ввести несколько через запятую. E-mail from name, E-mail from address, E-mail subject — по умолчанию равны значениям вбитым на странице webform, но для каждого отдельного опроса (webform), можно вбить свои, или указать, чтоб их значения были равны какому-нибудь полю опроса. Webform advanced settings: Show complete form in teaser — показывать ли полную форму в тизере. Limit the number of submissions a user may send within a specified time period — позволяет указать сколько раз пользователь может заполнить опросник за определенный промежуток времени. По умолчанию — без ограничения. На рисунке заданно, что пользователь может заполнять форму 3 раза в час. drupal-lesson-webform-4.jpgSubmit button text — проивольный текст для кнопки submit. Additional Validation — с помощью PHP, можно задать дополнительные параметры проверки. Additional Processing — после проверки, с помощью PHP, можно произвести дополнительную обработку данных. Остальные настройки повторяют настройки у стандартных нод. Создадим свой опрос, вбив в title произвольный текст, и сохранив. Я назвал его «123». drupal-lesson-webform-5.jpg После сохранения видим 5 кнопок: View — показать готовый опрос. Edit - редактировать. Results — результаты. Мы находимся в разделе Edit, он делится на 2: Configuration — первая страница, с которой мы попали на эту. Form components — тут мы находимся. На этой странице происходит добавление полей к опросу. Добавим несколько полей. Я добавил поля: file, Markup, Pagebreak, textfield. У каждого из этих полей есть свои настройки, их я описывать не буду, так как их много, и они различны. drupal-lesson-webform-6.jpg После сохранения эта форма станет доступна на странице webforms. Так же для нее можно создать пункт меню, или вывести ее на главную, поставив соответствующую галочку на странице настроек. Теперь давайте попробуем создать форму обратной связи. Создаем новый опрос, в title вбиваем «Обратная связь» и сохраняем. Я добавил 3 поля к этому webform: Имя - типа textfield. E-mail — типа email. Сообщение — типа textarea. drupal-lesson-webform-7.jpg Сохраняем, и получаем готовую форму обратной связи. Единственное что было бы неплохо добавить, дак это капчу, для не зарегистрированных пользователей. Для этого устанавливаем captcha, и заходим на страницу «Administer → User management → CAPTCHA», там нужно установить галочку Add CAPTCHA administration links to forms. drupal-lesson-webform-8.jpg После этого, капча станет доступна на странице опроса. drupal-lesson-webform-9.jpg Кликаем по ссылке «Place a CAPTCHA here for untrusted users» drupal-lesson-webform-10.jpg в «Challenge type», нам нужно указать какой тип капчи будет выводиться пользователю. После выбора типа капчи, и сохранения, незарегистрированные пользователи (если разрешить им доступ к webform) увидят drupal-lesson-webform-11.jpg Спасибо за внимание -) Если возникли какие-то вопросы, можете задать их на форуме.

Комментарии

Скриншоты лучше делать в png, текст более читаемый получается.
За уроки спаисбо!

И вам спасибо за совет) В следующем уроке попробую применить)

Эх я думал следующий урок бкдет добавлениевидео на сайт )

К уроку прилагается скринкаст (видео-урок), там в конце есть пример, как закачивать на сайт видео.

Доброго времени! я вот с локалхоста отправляю и мне по мимо сообщения что форма отправлена выдает еще такое: You have already submitted this form. View your previous submissions. что это и как с эти боротся?

Переведите) Это значит что вы уже раз ответили на форму. Судя по всему вы выставили ограничение, на количество ответов, и свой ответ уже сделали. Либо удалите его, либо уберите ограничение.

Евгений не могли бы Вы сделать урок по SEO в поисковиках где не ткнешь Drupall
попадаешь на Ваш сайт, поделитесь пожалуйста опытом. И еще хотелось
бы видеть побольше таких уроков 8. Drupal - Урок восьмой - Еще немного про модуль Views. Работаем с Exposed filters и Arguments.

У меня уже был пост о seo-модулях для Drupal. В остальном оптимизация ничяем не отличается от оптимизации других сайтов.
SEO-оптимизацией этого блога почти не занимаюсь. Думаю, поисковики мен любят за большое количество тематических ссылок.

Почему то вебформа не хочет отправлять письма.
вот что выдает:

Forbidden
You don't have permission to access / on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.33 Server at AppStuff Port 80

Где ковырятся то нужно?(
Спасибо.

"На одном из сайтов посвященных Drupal даже продают за $100 сборку простого магазина с использованием webform."

Это где это такое продают??

добрый день вам!
классная статья, я все сделал, только вот вопрос, можно ли сделать так, чтобы вебформа отправляла все что было заполнено в форме на мой е-майл? а то шлет ссылку, по ссылке идешь и админом читаешь то что юзверь заполнял. не очень удобно. да и догадываюсь, что это не очень благоприятно сказывается на загрузке моей БД и сервера.
С уважением...

упс, сорри.. ступил. Доглядел место для галок e-mail. Если других заинтересует - скажу, что, если хотите, чтобы вам данные веб-формы приходили на почту ставьте галки в момент выбора поля. ставьте Mandatory, если хотите, чтобы поле было обзяательным к заполнению..

у меня вопрос остался, можно отключить создание сабмишенов? мне вполне достаточно почты..
С уважением..

эх, жаль...как не хочется лезть в пхп код евойный :(.. спасибо за ответ...

хочется, чтобы было все как можно оптимальнее.. люблю работать в комфорте:) кстати, спасибо, что зашли, может ошибку какую или глюк накопаете - поделитесь, пожалуйста, буду признателен :)

Добрый день!
Прошу помощи в разрешении одного вопроса!
Все сделал как указано в уроке. Поставил формы... на сайте заполняю формы, отправляю письмо, а на почтовый ящик приходит следующее:

Submitted on (тут дата указывается)
Submitted by anonymous user: [тут указывается ip заполнявшего форму]

Submitted values are:

The results of this submission may be viewed at:
http://www.probuhgalter.ru/node/179/submission/3
как быть?
что не так сделал?

При создании вебформы (заявка на добавление в каталог организаций) столкнулся с глупейшей проблемой. Все введенные данные нормально отправляются, но вместо подтверждения выскакивает белый экран. Есть подозрение что 403 ошибка. Подскажите где копать?))

Сложный вопрос, может памяти не хватает, может еще чего.

Создаю сайт гимназии. Хотелось бы сотварить виртуальную приемную директора. Что-то типа этого http://gymn10.minsk.edu.by/main.aspx?uid=53270. Как это можно реализовать с помощью Webform. Направьте на путь истинный, плз.

Данных в уроке достаточно для создания такой формы.

Форму я создал без проблем. Меня итересует, как на одной странице разместить и форму и вопросы с ответами?

Страницы