С помощью метода CFormResult::Add можно добавлять данные в админку Битрикс из любой HTML-формы, даже без использования стандартного модуля веб-форм.
Что понадобится?
-
ID веб-формы (можно посмотреть в админке)
-
Настроенные поля формы (текстовые, скрытые и др.)
-
Правильные имена полей (см. официальную документацию)
Пример кода для сохранения данных формы
Допустим, у нас есть HTML-форма с полями name, email, tel и скрытыми данными (allzakaz, allcoll, allprice). После отправки форма обрабатывается на странице благодарности:
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?>
<?if (isset($_POST['email']) && isset($_POST['allzakaz'])):?>
<?
// Получаем данные из POST
$name = $_POST['name'] ?? '';
$email = $_POST['email'] ?? '';
$phone = $_POST['tel'] ?? '';
$allzakaz = $_POST['allzakaz'] ?? '';
$allcoll = $_POST['allcoll'] ?? '';
$allprice = $_POST['allprice'] ?? '';
// Формируем массив значений (ID полей из админки)
$arValues = [
"form_hidden_18" => $name,
"form_hidden_19" => $email,
"form_hidden_20" => $phone,
"form_hidden_22" => $allcoll,
"form_hidden_23" => $allprice,
"form_hidden_24" => $allzakaz
];
// ID формы (указываем свой)
$FORM_ID = 4;
CModule::IncludeModule("form"); // Подключаем модуль веб-форм
// Добавляем запись в веб-форму
if ($RESULT_ID = CFormResult::Add($FORM_ID, $arValues)) {
// Отправляем email-уведомление
$message = "{$name}, ваш заказ подтвержден. В ближайшее время с вами свяжется менеджер.\n\nСостав заказа:\n{$allzakaz}";
mail($email, "Подтвержден заказ №{$RESULT_ID} на site.ru", $message, "From: info@site.ru");
}
?>
<?endif;?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>Как это работает?
-
Форма отправляет данные методом POST.
-
Скрипт проверяет наличие обязательных полей (
email,allzakaz). -
Данные передаются в
CFormResult::Add, который сохраняет их в админке Битрикс. -
Пользователь получает email-подтверждение.
Вывод
С помощью CFormResult::Add можно:
Сохранять данные из кастомных HTML-форм
Интегрировать формы без стандартного модуля Битрикс
Автоматизировать обработку заказов и заявок
Этот метод открывает возможности для нестандартных решений, таких как имитация каталога товаров или сложных систем обратной связи.