Во фреймворке Webasyst, на основе которого работает Shop-Script, есть встроенная возможность быстро добавить форму обратной связи на любую страницу сайта:
- В приложении «Сайт» перейдите в раздел Блоки.
- Выберите блок с названием «site.send_email_form».
- Щелкните по фрагменту кода под надписью «Встроить на страницу или в шаблон».
- Скопируйте выделенный фрагмент кода и вставьте его в 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>