Есть форма обратной связи. Данные с формы приходят на почту, но не приходят в информационный блок.
[B]component.php
[/B][CODE]<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
$arResult["PARAMS_HASH"] = md5(serialize($arParams) . $this->GetTemplateName());
$arParams["USE_CAPTCHA"] = (($arParams["USE_CAPTCHA"] != "N" && !$USER->IsAuthorized()) ? "Y" : "N");
$arParams["EVENT_NAME"] = trim($arParams["EVENT_NAME"]);
if ($arParams["EVENT_NAME"] == '')
$arParams["EVENT_NAME"] = "FEEDBACK_FORM";
$arParams["EMAIL_TO"] = trim($arParams["EMAIL_TO"]);
if ($arParams["EMAIL_TO"] == '')
$arParams["EMAIL_TO"] = COption::GetOptionString("main", "email_from");
$arParams["OK_TEXT"] = trim($arParams["OK_TEXT"]);
if ($arParams["OK_TEXT"] == '')
$arParams["OK_TEXT"] = GetMessage("MF_OK_MESSAGE");
$response = array();
if ($_SERVER["REQUEST_METHOD"] == "POST" && (!isset($_POST["PARAMS_HASH"]) || $arResult["PARAMS_HASH"] === $_POST["PARAMS_HASH"])) {
$arResult["ERROR_MESSAGE"] = array();
if (check_bitrix_sessid()) {
if (empty($arParams["REQUIRED_FIELDS"]) || !in_array("NONE", $arParams["REQUIRED_FIELDS"])) {
if ((empty($arParams["REQUIRED_FIELDS"]) || in_array("NAME", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["name"]) <= 1)
$arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_NAME");
if ((empty($arParams["REQUIRED_FIELDS"]) || in_array("EMAIL", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["email"]) <= 1)
$arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_EMAIL");
if ((empty($arParams["REQUIRED_FIELDS"]) || in_array("MESSAGE", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["MESSAGE"]) <= 3)
$arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_MESSAGE");
}
if (strlen($_POST["email"]) > 1 && !check_email($_POST["email"]))
$arResult["ERROR_MESSAGE"][] = GetMessage("MF_EMAIL_NOT_VALID");
if ($arParams["USE_CAPTCHA"] == "Y") {
$captcha_code = $_POST["captcha_sid"];
$captcha_word = $_POST["captcha_word"];
$cpt = new CCaptcha();
$captchaPass = COption::GetOptionString("main", "captcha_password", "");
if (strlen($captcha_word) > 0 && strlen($captcha_code) > 0) {
if (!$cpt->CheckCodeCrypt($captcha_word, $captcha_code, $captchaPass))
$arResult["ERROR_MESSAGE"][] = GetMessage("MF_CAPTCHA_WRONG");
} else {
$arResult["ERROR_MESSAGE"][] = GetMessage("MF_CAPTHCA_EMPTY");
}
}
if (empty($arResult["ERROR_MESSAGE"])) {
$arFields = array(
"NAME" => $_POST["name"],
"EMAIL" => $_POST["email"],
"PHONE" => $_POST["phone"],
"SITE_TYPE" => $_POST["site_type"],
"EMAIL_TO" => $arParams["EMAIL_TO"],
"ABOUT" => $_POST["about"],
"COMPANY" => $_POST["company"],
"COMPANY_ACTION" => $_POST["company_action"],
"COMPANY_ABOUT" => $_POST["company_about"],
"COMPANY_ADVANTAGES" => $_POST["company_advantages"],
"COMPANY_CONCURENTS" => $_POST["company_concurents"],
"TASK" => $_POST["task"],
"MOTIVATION" => $_POST["motivation"],
"TARGET" => $_POST["target"],
"BUDGET" => $_POST["budget"],
"FUNCTIONS" => $_POST["functions"],
"MAIN_PARTS" => $_POST["main_parts"],
"INTEGRATIONS" => $_POST["integrations"],
"EXAMPLES" => $_POST["examples"],
"STYLE" => $_POST["style"],
"PALETTE" => $_POST["palette"],
"FORM_TYPE" => $_POST["form_type"], // Добавлено поле для идентификации формы
);
switch ($arFields["FORM_TYPE"]) {
case "form1":
$infoBlockId = 16; // Идентификатор информационного блока для form1
break;
case "form2":
$infoBlockId = 2; // Идентификатор информационного блока для form2
break;
case "form3":
$infoBlockId = 3; // Идентификатор информационного блока для form3
break;
// Добавьте больше ветвей, если есть дополнительные формы
}
if (!empty($arParams["EVENT_MESSAGE_ID"])) {
foreach ($arParams["EVENT_MESSAGE_ID"] as $v) {
if (IntVal($v) > 0) {
CEvent::Send($arParams["EVENT_NAME"], SITE_ID, $arFields, "N", IntVal($v), array("IBLOCK_ID" => $infoBlockId));
}
}
} else {
CEvent::Send($arParams["EVENT_NAME"], SITE_ID, $arFields, "N", 0, array("IBLOCK_ID" => $infoBlockId));
}
$_SESSION["MF_NAME"] = htmlspecialcharsbx($_POST["name"]);
$_SESSION["MF_EMAIL"] = htmlspecialcharsbx($_POST["email"]);
$response["success"] = true;
$response["jsonData"] = json_encode($arFields, JSON_UNESCAPED_UNICODE);
// Перенаправляем на страницу успешного завершения
LocalRedirect("/success/");
} else {
$response["success"] = false;
$response["errors"] = $arResult["ERROR_MESSAGE"];
}
} else {
$response["success"] = false;
$response["errors"] = array(GetMessage("MF_SESS_EXP"));
}
} elseif ($_REQUEST["success"] == $arResult["PARAMS_HASH"]) {
$arResult["OK_MESSAGE"] = $arParams["OK_TEXT"];
// Перенаправляем на страницу успешного завершения
LocalRedirect("/success/");
}
if (empty($arResult["ERROR_MESSAGE"])) {
if ($USER->IsAuthorized()) {
$arResult["AUTHOR_NAME"] = $USER->GetFormattedName(false);
$arResult["AUTHOR_EMAIL"] = htmlspecialcharsbx($USER->GetEmail());
} else {
if (strlen($_SESSION["MF_NAME"]) > 0)
$arResult["AUTHOR_NAME"] = htmlspecialcharsbx($_SESSION["MF_NAME"]);
if (strlen($_SESSION["MF_EMAIL"]) > 0)
$arResult["AUTHOR_EMAIL"] = htmlspecialcharsbx($_SESSION["MF_EMAIL"]);
}
}
if ($arParams["USE_CAPTCHA"] == "Y")
$arResult["capCode"] = htmlspecialcharsbx($APPLICATION->CaptchaGetCode());
$this->IncludeComponentTemplate();
[/CODE][B]template.php[/B]
[CODE]<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
/**
* Bitrix vars
*
* @var array $arParams
* @var array $arResult
* @var CBitrixComponentTemplate $this
* @global CMain $APPLICATION
* @global CUser $USER
*/
?>
<fo rm action="<?= POST_FORM_ACTION_URI ?>" method="POST" enctype="multipart/form-data" class="start__form form">
<?= bitrix_sessid_post() ?>
<input type="hidden" name="form_type" value="form1">
<div data-aos="fade-up" class="start__blocks gsap-element">
<div class="start__block start__block--company">
<div class="start__inputs">
<div class="start__input">
<span class="start__label">Тип проекта</span>
<div class="select">
<input type="hidden" name="site_type" required="" value="0">
<button type="button" class="select__button" data-placeholder="Выберите услугу">Выберите услугу</button>
<ul class="select__list" hidden="">
<li data-value="Сайт">Сайт</li>
<li data-value="Интернет-магазин">Интернет-магазин</li>
<li data-value="Доработка">Доработка</li>
<li data-value="Поддержка">Поддержка</li>
<li data-value="Аутстаффинг">Продвижение</li>
<li data-value="Другое">Другое</li>
</ul>
</div>
</div>
<div class="start__input">
<span class="start__label">Какой примерный бюджет проекта?</span>
<div class="select required">
<input type="hidden" name="budget" required="" value="0">
<button type="button" class="select__button" data-placeholder="Укажите бюджет">Укажите бюджет</button>
<ul class="select__list" hidden="">
<li data-value="200 - 400 тыс. ₸">200 - 400 тыс. ₸</li>
<li data-value="400 - 600 тыс. ₸">400 - 600 тыс. ₸</li>
<li data-value="600 - 800 тыс. ₸">600 - 800 тыс. ₸</li>
<li data-value="800 тыс. - 1 млн. ₸">800 тыс. - 1 млн. ₸</li>
<li data-value="от 1 млн. ₸">от 1 млн. ₸</li>
</ul>
</div>
</div>
<!-- <div class="start__input">
<span class="start__label">Выберите бонус</span>
<div class="select">
<input type="hidden" name="bonus" required="" value="0">
<button type="button" class="select__button" data-placeholder="Бонус">Бонус</button>
<ul class="select__list" hidden="">
<li data-value="Скидка 10%">Скидка 10%</li>
<li data-value="Аудит сайта (express)">Аудит сайта (express)</li>
<li data-value="Аудит рекламных кампаний (express)">Аудит рекламных кампаний (express)</li>
<li data-value="Аудит CRM (express)">Аудит CRM (express)</li>
<li data-value="Аудит SEO (express)">Аудит SEO (express)</li>
</ul>
</div>
</div> -->
<div class="start__input">
<span class="start__label">Что требуется сделать?</span>
<div class="input input-text input-text-with-label">
<input type="text" name="about" placeholder=" ">
<label>Опишите задачу</label>
</div>
</div>
<!-- <div class="start__input ">
<span class="start__label">Документ</span>
<div class="input input-file">
<input id="start-doc" type="file" name="file" hidden="">
<label for="start-doc"><img src="<?=SITE_TEMPLATE_PATH?>/assets/images/icons/attach.svg" alt="">Техническое задание, если есть</label>
</div>
</div> -->
</div>
</div>
<div class="start__block start__block--contact">
<div class="start__info">
<h3 class="start__info-title">Ваши контакты</h3>
<p class="start__text">Свяжемся с вами, когда подготовим <br>предложение и расчитаем стоимость и сроки</p>
</div>
<div class="start__inputs">
<div class="start__input">
<span class="start__label">Как вас зовут</span>
<div class="input input-text input-text-with-label">
<input type="text" name="name" placeholder=" " >
<label>Фамилия Имя</label>
</div>
</div>
<div class="start__input">
<span class="start__label">Эл. почта</span>
<div class="input input-text input-text-with-label">
<input type="text" name="email" placeholder=" " >
<label>Отправим на почту предложение и стоимость проекта</label>
</div>
</div>
<div class="start__input">
<span class="start__label">Телефон</span>
<div class="input input-text input-text-with-label">
<input type="tel" name="phone" placeholder=" ">
<label>Перезвоним если возникнут вопросы</label>
</div>
</div>
<div class="start__input">
<span class="start__label">Название компании</span>
<div class="input input-text input-text-with-label">
<input type="text" name="company" placeholder=" ">
<label>Как называется ваша компания</label>
</div>
</div>
</div>
</div>
</div>
<div class="start__controls">
<button type="submit" class="btn"><span>Отправить на оценку</span></button>
<div class="term">
Нажимая на кнопку, вы даете <a href="/privacy-policy/" target="_blank">согласие</a> на обработку персональных данных и соглашаетесь с политикой конфиденциальности.</a>
</div>
</div>
<input type="hidden" name="type" value="start">
<input type="hidden" name="recaptcha_response">
</form>
[/CODE]
Информационный блок был создал с ID 16. Данные с формы приходят на почту, а в информационный блок нет. В чем проблема и как ее решить?