Заказать звонок
Заказать звонок

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

Последние комментарии
Алексей Кремнев
поддержка16 октября 2017

Сначала Вам необходимо создать Блок формы обратной связи в приложении Сайт->Блоки. В поле ввода блока необходимо поместить код представленный ниже.

Не забудьте изменить параметры вначале блока на те, что заданы в настройках шаблона!

После этого создайте страницу в приложении Сайт->Страницы. И разместите код вывода Блока (он написан под название блока). Её URL должен совпадать с тем, что Вы задали в настройках шаблона и Блоке.

Теперь при отправке формы покупателя будет переадресовывать на эту страницу и показывать ошибки в заполнении формы или сообщение об успешной отправке.

{$theme_settings.feedback_link = '/feedback/'} {* Ссылка на страницу обратной связи *}
{$theme_settings.feedback_captcha = '0'} {* 1 - Капча включена, 0 - выключена *}
{$theme_settings.feedback_email = '1'} {* 1 - Показывать поле ввода почты *} 
{$theme_settings.feedback_phone = '1'} {* 1 - Заменить сообщение на телефон *}
{$theme_settings.feedback_agreement = 'all'} {* all - показывать флажок, link - показывать только ссылку, none - не показывать ничего *}
{$theme_settings.feedback_agreement_link = 'укажите здесь ссылку на страницу с политикой обработки персональных данных'}

{$errors = array()}
{if empty($theme_settings.feedback_captcha)}
{$wa->storage(['captcha', $wa->app()], '')}
{/if}
{if $wa->post("send") and $wa->sendEmail("", $errors)}
<h1>Спасибо!</h1>
<p>Ваше сообщение было отправлено.</p>
{else}
<form class="contact-form contact-section" method="post" action="">
<div class="form-content">
  <div class="input-group push-bottom">
    <span class="input-group-addon default-color"><i class="fa fa-user"></i></span>
    <input class="form-control" type="text" name="name" placeholder="Имя" value="{$wa->post('name')|escape}">
  </div>
  <div class="input-group push-bottom{if empty($theme_settings.feedback_email)} hidden{/if}">
    <span class="input-group-addon default-color"><i class="fa fa-envelope-o"></i></span>
    <input class="form-control{if !empty($errors.email)} wa-error{/if}" type="email" name="email" placeholder="Email" value="{if !empty($theme_settings.feedback_email)}{$wa->post('email')|escape}{else}noreply@{$wa->domainUrl()|replace:'http://':''}{/if}">
  </div>
  {if !empty($theme_settings.feedback_phone)}
    <div class="input-group push-bottom">
      <span class="input-group-addon default-color"><i class="fa fa-phone"></i></span>
      <input class="form-control{if !empty($errors.body)} wa-error{/if}" type="text" name="body" placeholder="Телефон" value="{$wa->post('body')|escape}">
      </div>
  {else}
    <div class="input-group push-bottom">
        <textarea class="form-control{if !empty($errors.body)} wa-error{/if}" name="body" placeholder="Сообщение">{$wa->post("body")|escape}</textarea>
    </div>
  {/if}
  <input type="hidden" name="subject" value="Запрос с сайта {$wa->domainUrl()}">
  {if !empty($theme_settings.feedback_captcha)}
    <div class="wa-captcha-section">
      {$wa->captcha(!empty($errors.captcha))}
    </div>
  {/if}
  {if $theme_settings.feedback_agreement != 'none' && !empty($theme_settings.feedback_agreement_link)}
    <div class="input-group push-bottom">
      {if $theme_settings.feedback_agreement == 'all'}
        <input type="hidden" name="agree_to_terms" value="">
        <label class="c-input c-checkbox">
          <input type="checkbox" name="agree_to_terms" value="1"{if $wa->post("agree_to_terms")} checked{/if}>
          <span class="c-indicator"></span>
          Я принимаю условия <a href="{$theme_settings.feedback_agreement_link|escape}" target="_blank">политики обработки персональных данных</a>
          {if !empty($errors.agree_to_terms)}<br/><em class="small red">{$errors.agree_to_terms}</em>{/if}
        </label>
      {elseif $theme_settings.feedback_agreement == 'link'}
        Нажимая кнопку подтверждения, я соглашаюсь с <a href="{$theme_settings.feedback_agreement_link|escape}" target="_blank">политикой обработки персональных данных</a>.
      {/if}
    </div>
  {/if}
  <div class="keep-left text-left">
    <input type="hidden" name="send" value="feedback">
    <input class="btn btn-default" type="submit" value="Отправить">
  </div>
</div>
</form>
{/if}