@DeeUs

Как сделать ajax форму с сохранением результатов в админке?

Здравствуйте!
Как лучше реализовать форму(ajax), чтобы результаты хранились в админке и на почту администратора(или на отдельно прописанную почту) приходило уведомление с заполненными данными.
в интернетах наткнулся на разные реализации и через main:feedback и через iblock.element.add и через bittrix:form.result.new. но так как я пока не особо в битриксе - я не совсем понимаю как лучше и правильнее.

Спасибо)
  • Вопрос задан
  • 325 просмотров
Решения вопроса 1
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
Вы задали много вопросов в одном посте.
Вот отличный пример:
<?
$el = new CIBlockElement;
$PROP = array();
$PROP[12] = "Белый";  // свойству с кодом 12 присваиваем значение "Белый"
$PROP[3] = 38;        // свойству с кодом 3 присваиваем значение 38
$arLoadProductArray = Array(
  "MODIFIED_BY"    => $USER->GetID(), // элемент изменен текущим пользователем
  "IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
  "IBLOCK_ID"      => 18,
  "PROPERTY_VALUES"=> $PROP,
  "NAME"           => "Элемент",
  "ACTIVE"         => "Y",            // активен
  "PREVIEW_TEXT"   => "текст для списка элементов",
  "DETAIL_TEXT"    => "текст для детального просмотра",
  "DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif")
  );
if($PRODUCT_ID = $el->Add($arLoadProductArray))
  echo "New ID: ".$PRODUCT_ID;
else
  echo "Error: ".$el->LAST_ERROR;
?>

Создайте инфоблок, в нем свойства.
Создайте страницу, в ней форму с полями, при отправке формы делайте пост-запрос на страницу с кодом выше.
Вот пример для ajax
<script type="text/javascript">
$(function () {
            $('#form_id').submit(function(e){
                e.preventDefault();
                var data = $(this).serialize();
                $. ajax ({
                    url:'/ajax.php',
                    type:'post',
                    data:data,
                    success:function(res){
                        $('#result').html(res);
                    }
                })
            })
        })  
    </script>

В ответ получите New ID.
Почту приделать можно через файл init.php, добавив действие по событию OnAfterIBlockElementAdd
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы