линия

Главная

пятница, 27 мая 2016 г.

Почтовое событие при добавлении данных в инфоблок

Задача.
Есть форма. Нужно добавить данные с формы AJAX-методом в информационный блок и  еще чтобы инициировалось почтовое событие.

Решение.
Покумекав смекнул, что трудо-время затраты можно уменьшить если все это дело запилитть самому.
1. открываем файл bitrix/php_interface/init.php
2. добавляем код
if(isset($_POST['email']) ){
 CModule::IncludeModule('iblock'); 
 $el = new CIBlockElement;
    $PROP = array();
    $PROP[1] =$_POST['email'];  // свойству с кодом 1 - email
    $PROP[2] = '';        // свойству с кодом 2 - phone

$arLoadProductArray = Array(
  "MODIFIED_BY"    => 1, // элемент изменен текущим пользователем
  "IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
  "IBLOCK_ID"      => 2, // номер IBLOCK_ID
  "PROPERTY_VALUES"=> $PROP,
  "NAME"           => $_POST['name'],
  "ACTIVE"         => "Y",            // активен
  //"PREVIEW_TEXT"   => "",
  //"DETAIL_TEXT"    => "",
  //"DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif")
  );

$PRODUCT_ID = $el->Add($arLoadProductArray);
// ПОЧТОВОЕ СОБЫТИЕ
$arSend = array(
   "FIO" => $_POST['name'], 
   "PHONE" => $phone, 
   "EMAIL" =>$_POST['email'], 
   //"TEXT" => $text, 
   );
 CEvent::Send('FEEDBACK_FORM',SITE_ID,$arSend);
 
}