Есть форма обратной связи. Данные с формы приходят на почту, но не приходят в информационный блок.
component.php
template.php
Информационный блок был создал с ID 16. Данные с формы приходят на почту, а в информационный блок нет. В чем проблема и как ее решить?
component.php
Код |
---|
<?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(); |
Код |
---|
<? 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"> <p>Нажимая на кнопку, вы даете <a href="/privacy-policy/" target="_blank">согласие</a> на обработку персональных данных и соглашаетесь с политикой конфиденциальности.</a></p> </div> </div> <input type="hidden" name="type" value="start"> <input type="hidden" name="recaptcha_response"> </form> |
Информационный блок был создал с ID 16. Данные с формы приходят на почту, а в информационный блок нет. В чем проблема и как ее решить?