Кто я?

Я аноним 👤, если хотите узнать имя оставьте "заявку" ))
Лучше расскажу о себе, через 20 лет в IT до меня дошло наконец кто я.
Я - универсальный технический утюг 🦾
Не просто решаю технические задачи — а выглаживаю результат, убирая все заломы.
Дизайн, видео, серверы, сети, безопасность, код — прошёл всё, делал всё сам. Широкий охват. Глубокая экспертиза. И, да, у меня большие очки!

Моё время занято на 60%

Обращайтесь — пока другой клиент не занял остаток!


Забронировать консультацию

iot-блог | контакты
© Digital Specialist | Регион Москва | Не являемся сотрудниками Google, Яндекса и NASA

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

🎯 01. Вводные

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

Сайт на Битриксе. Можно конечно костыль на коленке прикрутить, но мы же профи. Будем делать через стандартные компоненты, как доктор прописал.

// ТЗ от клиента (мой пересказ)
$task = [
  "type" => "feedback_form",
  "location" => "all_pages",
  "fields" => ["name", "phone", "email", "message"],
  "spam_protection" => "captcha",
  "deadline" => "вчера"
];
📂 02. Где это всё лежит (путь, который ты скинул)
📁 local/
  📁 templates/
    📁 dar/ <-- мой шаблон сайта
      📁 components/
        📁 bitrix/
          📁 main.include/
            📁 feedback_formzrr/ <-- мой кастомный шаблон
              📄 template.php <-- вот он родимый
              📄 style.css
              📄 script.js
      📁 include/
        📄 feedback_include.php <-- подключаемый файл

Этот путь /local/templates/dar/components/bitrix/main.include/feedback_formzrr/template.php — результат моей работы. Дальше расскажу, как я к этому пришел.

📋 03. Пошаговая инструкция (как я это делал)
1 Выбор инструмента

В Битриксе есть готовый компонент main.feedback. Он умеет: выводить поля, отправлять письма, проверять капчу. Идеально для быстрого старта.

2 Создаю тестовую страницу в админке

Захожу: Контент → Структура сайта → Управление страницами. Создаю страницу /feedback/. На неё кидаю компонент main.feedback через визуальный редактор.

Настройки компонента:
- Почта: client@mail.ru
- Капча: Да
- Поля: Имя, Телефон, Email, Сообщение
- Событие: NEW_FEEDBACK_FORM (создал новое)
3 Копирую шаблон компонента в шаблон сайта

Стандартный шаблон лежит в /bitrix/components/bitrix/main.feedback/templates/.default. Копирую его в /local/templates/dar/components/bitrix/main.feedback/ и переименовываю в feedback_formzrr.

✓ Правило хорошего тона: никогда не редактировать ядро!

4 Кастомизирую template.php

Открываю template.php и правлю верстку под дизайн клиента. Добавляю CSS-классы, placeholder'ы, обертки для ошибок.

// Пример моего кода в template.php
<div class="form-group">
  <input type="text" name="user_name"
    value="<?=$arResult["AUTHOR_NAME"]?>"
    placeholder="Ваше имя" class="form-input">
  <?if(!empty($arResult["ERROR_MESSAGE"]['name'])):?>
    <span class="error"><?=$arResult["ERROR_MESSAGE"]['name']?></span>
  <?endif;?>
</div>
5 Создаю подключаемый файл

В папке /local/templates/dar/include/ создаю файл feedback_include.php и вставляю вызов компонента с моим шаблоном.

<?$APPLICATION->IncludeComponent(
    "bitrix:main.feedback",
    "feedback_formzrr",
    Array(
        "USE_CAPTCHA" => "Y",
        "OK_TEXT" => "Спасибо, ваше сообщение отправлено!",
        "EMAIL_TO" => "client@mail.ru",
        "REQUIRED_FIELDS" => array("NAME", "EMAIL")
    )
);?>
6 Подключаю форму на все страницы

В нужном месте шаблона (например, в footer.php) вставляю вызов main.include, который подтягивает мой файл.

<?$APPLICATION->IncludeComponent(
    "bitrix:main.include",
    "",
    Array(
        "AREA_FILE_SHOW" => "file",
        "PATH" => "/include/feedback_include.php"
    )
);?>

Теперь форма будет на каждой странице, где есть footer. Магия.

04. Что изменилось
Было Стало
Клиент терял заявки Все заявки падают на почту и в CRM
Стандартная серая форма Кастомный дизайн под бренд
Форма только на контактах Форма в подвале каждой страницы
Спам через форму Капча отсеивает ботов
🔧 05. Технические моменты (чтоб было чем козырнуть)
  • Почтовое событие — создал отдельное, чтобы не мешалось с системными. Лежит в настройках → Почтовые события.
  • Шаблон письма — настроил красивое HTML-письмо с полями формы. Клиент получает не просто текст, а нормальное письмо.
  • Валидация — на клиенте через JS, на сервере через Битрикс. Двойной контроль.
  • CSRF-токен — Битрикс сам вставляет, если включено в настройках главного модуля.
📊 06. Результат

📩 За первую неделю — 24 заявки

📧 Письма приходят моментально

🤖 Спама — 0 (капча рулит)

💰 Клиент доволен, просит ещё чат-бот прикрутить

«Ой, а я и не знала, что так можно было. Теперь форма везде, и письма падают куда надо. Спасибо!» — слова клиента (ну почти).

💡 07. Что я понял
  • Не изобретай велосипед — в Битриксе уже есть готовые компоненты, бери и кастомизируй.
  • Всегда копируй шаблоны в local/ — иначе обновления убьют твои правки.
  • main.include — удобная штука для переиспользования кода на всех страницах.
  • Капча — обязательно, иначе спамеры завалят.

← Назад к списку