Этот урок будет посвящен созданию формы обратной связи с капчей.

Мы сделаем на нашем сайте раздел Обратная связь, где будет располагаться форма со следующими полями:

  • Имя
  • Email
  • Текст сообщения
  • Капча

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

Итак, приступим.

Авторизуемся в админке нашего сайта под пользователем root.

Зайдем в управление меню и добавим пункт меню Обратная связь:

пункт меню обратная связь

По большому счету наша форма обратной связи готова!

Но хотелось бы пояснить некоторые моменты и привести нашу форму к надлежащему виду.

Сначала зайдем в раздел админки "настройки" и введем значение настройки "Email администратора". На него будут приходить письма с уведомлениями о новых сообщениях.

Так же в этом разделе стоит изменить по своему усмотрению настройку "Текст, отображаемый после отправки формы обратной связи".

Теперь зайдем в админке в раздел "Сайт->Шаблоны писем" и отредактируем наш шаблон письма администратору.

Далее немного поменяем шаблон application/modules/default/news/scripts/feedback/index.phtml:

Copy Source | Copy HTML
  1. <?php
  2.     Z_Seo::addTitle('Обратная связь');
  3. ?>
  4. <h2>Обратная связь</h2>
  5.  
  6. <?php echo $this->form?$this->form:$this->z_Config('feedback_text')?>

Осталось только дополнить наш файл стилей css/style.css стилями для формы:

Copy Source | Copy HTML
  1. .zend_form dt {
  2.     margin-top: 20px;
  3. }
  4. .zend_form dd {
  5.     margin-top: 5px;
  6. }
  7. .zend_form input, .zend_form textarea {
  8.     margin:  0;
  9.     padding: 3px 5px;
  10.     border: 1px solid #10578D;
  11.     width: 60%;
  12.     background: #FFF;
  13. }
  14. .zend_form textarea {
  15.     height: 100px;
  16. }
  17. .zend_form #cap-element img {
  18.     display: block;
  19. }
  20. .zend_form .errors {
  21.     list-style: none;
  22.     color: red;
  23. }
  24. .zend_form #submit {
  25.     width: auto;
  26.     cursor: pointer;
  27. }

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

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

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