Как добавить форму обратной связи на сайт

Во фреймворке Webasyst есть встроенная возможность быстро добавить форму обратной связи на любую страницу сайта:

  1. В приложении «Сайт» перейдите в раздел Блоки.
  2. Выберите блок с названием «site.send_email_form».
  3. Щелкните по фрагменту кода под надписью «Встроить на страницу или в шаблон».
  4. Скопируйте выделенный фрагмент кода и вставьте его в HTML-код любой страницы или шаблон темы дизайна.



Вот так выглядит стандартная форма обратной связи, с помощью которой любой посетитель сайта сможет отправить вам сообщение:


Несколько хитростей

Как изменить адрес, на который отправляются сообщения обратной связи

Сообщения, которые посетители сайта оставляют через форму обратной связи, отправляются на email-адрес, указанный в поле «Email» в приложении «Инсталлер».


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

Если вы не хотите изменять содержимое поля «Email» в «Инсталлере», то можно указать адрес получателя сообщений обратной связи в исходном коде блока «site.send_email_form». Для этого добавьте нужный email-адрес внутри кавычек, как показано ниже:

$wa->sendEmail("admin@mycompany.ru", $errors)

Можно указать и несколько адресов получателей:

Простой формат (только адреса)

{$wa->sendEmail(['address1@domain.ru', 'address2@domain.ru'], $errors)}

Расширенный формат (адреса получателей с их именами)

{$wa->sendEmail(['address1@domain.ru' => 'Имя1', 'address2@domain.ru' => 'Имя2'], $errors)}


Как убрать поле для ввода защитного кода (капчи)

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


Если вы считаете, что необходимость вводить защитный код мешает посетителям вашего сайта быстро и удобно отправить сообщение, то можете отключить это поле. Для этого нужно перед строкой с вызовом метода {$wa->sendEmail(...)} добавить следующее:

{$wa->storage(['captcha', $wa->app()], '')}

Таким образом вы «говорите» фреймворку Webasyst, что правильной капчей является пустая, т. е. сообщение отправится, если ничего не написать в поле для ввода защитного кода.

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

<div class="wa-field">
    <div class="wa-value">
        {$wa->captcha(!empty($errors.captcha))}
        {if !empty($errors.captcha)}<em class="wa-error-msg">{$errors.captcha}</em>{/if}
    </div>
</div>


6 комментариев

  • +2
    Yuri Manko Yuri Manko 3 сентября 2015 08:48 #

    Я хочу убрать не только каптчу, но и поле Email, например. Как это возможно сделать?

  • +3
    Владимир Владимир 23 сентября 2015 03:18 #

    Подскажите, что надо сделать, чтобы почтовики не отправляли сообщения с формы обратной связи в спам?

    Сейчас все сообщения туда уходят.

    • +1
      Иван Иван 11 мая 2016 13:06 #

      В спам сообщения уходят в том числе из-за адреса From, который по умолчанию берётся из формы, так делать не нужно. Укажите в адресе From noreply@vashsite.ru, добавьте в заголовки письма Reply-To с адресом из формы.

    • +3
      axel999x axel999x 7 июня 2016 16:53 #

      Добрый день!

      А как сделать поле ввода телефона?

      И Возможно ли сделать отправку с разных страниц сайта на разные адреса с разными темами письма?


    • +3
      Yury Yury 13 апреля 2017 12:13 #

      В связи с внесением в закон новых оснований для штрафа (Федеральный закон от 07.02.2017 №13-ФЗ) хотелось бы добавить в код формы обратной связи реализацию функции получения согласия.
      Вот основание для беспокойства: "Размещение формы обратной связи на сайте расценивается как сбор информации о гражданах. Значит, компания должна выполнить обязанности оператора персональных данных. А именно: уведомить Роскомнадзор о намерении собирать и обрабатывать персональные данные, получить согласие субъекта, разработать политику конфиденциальности и обеспечить неограниченный доступ к ней. С 1 июля 2017 года отсутствие такой политики обойдется компании в 30 тыс. руб. При разработке формы обратной связи реализуйте функцию получения согласия: поставить соответствующую отметку до отправки анкеты."
      Так что было бы не плохо если бы вы обратили на это внимание. Может кому то нужна форма обратной связи.

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите