Полный цикл в digital

API Битрикс для работы с формами

В Битрикс работу с формами можно разделить на две сущности:

  1. Работа на уровне почтовых шаблонов и событий, результат заполнения в админке видно не будет
  2. Работа с модулем форм, все заполненые програмно формы будут отображаться в админке, модуль form доступен не во всех редакциях

Работа на уровне почтовых шаблонов и событий

При реализации отправки будут рассмотрены два метода:

// старый метод
CEvent::Send()
// аналог метода CEvent::Send в новом ядре D7
Event::send()

Создаем и настраиваем тип события

Для этого переходим в Настройки -> Настройки продукта -> Почтовые и СМС события -> Типы событий. Задаем название типа события и заполняем поля по образцу:

Создаем и настраиваем почтовый шаблон

Для этого переходим в Настройки -> Настройки продукта -> Почтовые и СМС события -> Почтовые шаблоны. Выбираем ранее созданный тип события и заполняем поля по образцу. В самом низу страницы, есть подсказка по доступным полям:

Отправка средствами Битрикс в старом ядре

// SEND - тип почтового события, s1 - ид сайта, в массиве поля на отправку, 2 пустых необязательных параметра, в конце массив ид файлов) */
CEvent::Send("SEND", 's1', array(
   "AUTHOR" => $name,
   "AUTHOR_EMAIL" => $email,
   "TEXT" => $text,
), 
   '',
   '', 
   $arF
);
// обнуление объекта
unset($name);

Отправка средствами Битрикс в новом ядре

// подключение модуля Event
use Bitrix\Main\Mail\Event;
// SEND - тип почтового события, s1 - ид сайта, C_FIELDS поля на отправку, 2 пустых необязательных параметра, FILE массив ид файлов
Event::send(array(
   "EVENT_NAME" => "SEND",
   "LID" => "s1",
   "C_FIELDS" => array(
      "AUTHOR" => $name,
      "AUTHOR_EMAIL" => $email,
      "TEXT" => $text,
   ),
   "FILE" => $arF,
));

Работа с модулем

При помощи CFormResult::Add можно добавлять результаты сразу в админку, причем абсолютно из любой HTML формы. Рассмотрим, как можно сохранять результат в 1С-Битрикс при помощи стандартного модуля.

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

<?
// подключаем модуль
\Bitrix\Main\Loader::includeModule('form');
// массив инпутов
$arValues = array(
  "form_text_2481" => htmlspecialchars($_POST['firstName']),
  "form_email_2482" => htmlspecialchars($_POST['email']),
  "form_text_2483" => htmlspecialchars($_POST['phone']),
);
// создает новый результат веб-формы, в случае успеха возвращает ID нового результата, в противном случае false
$RESULT_ID = CFormResult::Add('238', $arValues);
// создает событие в модуле Статистика, возвращает true в случае успеха, в противном случае false
CFormResult::SetEvent($RESULT_ID);
// создает почтовое событие для отсылки данных результата по e-mail, возвращает true в случае успеха, в противном случае false
CFormResult::Mail($RESULT_ID);
// создает событие в модуле CRM
CFormCRM::onResultAdded(238, $RESULT_ID);

Добавление кастомных полей в почтовый шаблон

Для добавления полей в почтовый шаблон:

Нужно отредактировать тип события:

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг