21.09.10

Простая (стандартная) форма обратной связи в TYPO3

Форма обратной связи — крайне полезный элемент любого корпоративного сайта компании. Она позволят получать на почту сообщения от посетителей непосредственно с самой веб-страницы без необходимости использования почты. Форма обратной связи может быть использована для получения отзывов, принятие заказов или жалоб от клиентов, привлечения новый партнеров и т.п. Как правило, она размещается на странице контактов и является своего рода дополнительным средством связи с клиентом (посетителем сайта) — кому-то удобнее позвонить по указанным телефонам, кто-то пишет на почту, а часть людей обязательно воспользуется формой обратной связи.

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

форма обратной связи

В системе управления контентом TYPO3 имеется встроенная стандартная (простая) форма обратной связи. В отличии от того же wordpress, где для похожих целей используется плагин contact form 7, здесь все возможности имеются сразу в базовой конфигурации системы. То есть после ее установки вам не нужно будет добавлять никакие модули (экстеншены), а просто должны образом настроить форму. Сегодня расскажу пару нюансов, которые помогут вам справиться с этой задачей.

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

почтовая форма в TYPO3

Все операции с созданным элементом TYPO3 формы обратной связи производятся  в закладке «Форма» — там можно указывать «Email получателя», страницу, на которую будет оправляться пользователь после оформления заявки, ну и, конечно, выбирать конфигурацию самой формы:

TYPO3 форма обратной связи

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

Название организации | COMPANY=input
Ваше ФИО | *FIO=input
Должность | POSITION=input
Телефон | PHONE=input
E-Mail | *EMAIL=input | | EMAIL 
Текст сообщения | *TEXT=textarea
 | formtype_mail=submit | Отправить
 | html_enabled=hidden
 | subject=hidden | Сообщение формы обратной связи на сайте site.com

Здесь сначала задается описание поля, которое выводится на сайте, потом указывается английское называние для его идентификации и тип поля. Тип «input» означает обычную строку для ввода, тогда как «textarea» — большое текстовое поле. Возле некоторых названий полей расположен символ *, который означает обязательно заполнения того или иного поля. В конце настроек указан текст для кнопки отправки сообщения, а также его тема, которая будет указана в письме, что придет на почту.

Но знать все тонкости этого оформления вовсе не обязательно. Рядом с полем ввода конфигурации формы обратной связи TYPO3 найдете небольшую иконку для запуска «конструктора формы». С его помощью сможете легко и наглядно создавать свою форму.

конструктор форм TYPO3

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

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

# -----> MailForm Configuration <-----
tt_content.mailform.20.target = _top
tt_content.mailform.20.layout = <tr><td width="27%" valign="top">###LABEL###</td><td>###FIELD###</td></tr>
tt_content.mailform.20.stdWrap.wrap = <table class="contact-form" width="70%" border="0" cellspacing="0" cellpadding="5"><tr><td colspan="2"><i>Поля отмеченные  <span style="color: red"> *</span> обязательны для заполнения.</i></td></tr>|</table>
tt_content.mailform.20.params.input = class="input_style"
tt_content.mailform.20.params.textarea = class="textarea_style"
tt_content.mailform.20.params.select = class="select_style"
tt_content.mailform.20.params.submit  = class="submit_style"
tt_content.mailform.20.RADIO.layout = <tr><td colspan="2" valign="top">###FIELD###</td></tr>
tt_content.mailform.20.radioWrap.wrap = |<br />
tt_content.mailform.20.LABEL.layout = <tr><td colspan="2" valign="top">###LABEL###</td></tr>
tt_content.mailform.20.REQ.labelWrap.wrap = | <span style="color: red"> *</span> 
tt_content.mailform.20.badMess = Вы должны заполнить следующие поля:
#tt_content.mailform.20.goodMess = Ваше сообщение отправлено. Спасибо.
tt_content.mailform.20.goodMess >
tt_content.mailform.20.emailMess = Вы ввели некорректный Email адрес.

Единственное, что хочу заметить — если вы используете отдельную страницу для переадресации пользователя после удачно отправленного сообщения, то параметр goodMess можно не указывать.

Если будут какие-то вопросы, спрашивайте в комментариях.

Понравился пост? Подпишись на TYPO3 блог typo3 blog RSSRSS, RSS typo3 blogEmail или typo3 twittertwitter!
TypoScript Возможности Стандартные модули

комментариев 9 к статье “Простая (стандартная) форма обратной связи в TYPO3”

  1. Neur0n   28.11.10

    Отличная статья, как раз для новичков!

  2. User II   27.01.12

    Здравствуйте.
    Добавил форму у себя на сайте, но когда отправляю ее, то мне на почту приходит сообщение
    This message was created automatically by mail delivery software.

    A message that you sent could not be delivered to one or more of its
    recipients. This is a permanent error. The following address(es) failed:

    «Указанный имейл»
    No Such User Here

    И соответственно я не получаю сообщение на указанный в настройках формы мейл. В чем может быть проблема?

  3. Tod   27.01.12

    User II, увы, с такой ошибкой не сталкивался, похоже на то мол неправильный email указан или что-то в этом роде. Я бы погуглил где-то в англоязычных форумах по тексту ошибки что там и как.

  4. mercer   12.04.12

    А как прикрутить свой обработчик формы обратной связи на PHP, если на хостинге, допустим, функция mail() отключена?

  5. Tod   13.04.12

    mercer, к сожалению, подсказать не смогу, можно было бы поискать опцию в typoscript.

  6. Света   16.05.12

    Подскажите, с чем связано, что дублируюся письма, мне одно и то же письмо приходит раза по 3-4? спасибо

  7. Tod   17.05.12

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

  8. Roman   08.05.13

    Доброго времени суток.
    Гуглил проблему, вышел на вас. Прошу помощи.
    Ситуация следующая….
    Есть так же стандартная форма для отправки.
    Все работает, все отправляется.
    Но отправляется на китайском (или схожем) языке.
    Причем только кирилица, ну это понятно.
    Отправляю: Дермидонов Автоген Бабаевич (для теста)
    Получаю: 袛械褉屑懈写芯薪芯胁 袗胁褌芯谐械薪 袘邪斜邪械胁懈褔
    Декодер Лебедева переводит так: ?е?мидонов ?в?оген ?абаеви?
    И пишут: GB2312 → UTF-8
    Но я ни чего не трогал, связанное с настройками.
    Рассчитываю на помощь.

  9. Tod   09.05.13

    Roman, искать проблему нужно в кодировке — базы данных, настройках самой админки там везде UTF-8 должно быть. Плюс в настройках базы данных есть collation который также должен быть utf8_general_ci. Еще ошибка может быть из-за кодировки файла шаблона, насколько я помню такое бывало. Но, к сожалению, точно решение проблемы не подскажу.

Оставить комментарий к статье Простая (стандартная) форма обратной связи в TYPO3

Полезные блоги

  • для блоггеров и вебмастеров