При заполнении веб-формы зарегистрированным пользователем создается элемент в соответствующем разделе инфоблока. Как я понимаю есть 2 варианта:
Как-то кастомизировать результаты заполнения формы и автоматически передавать данные в инфоблок (???)
Или же использовать компонент «Добавление элемента инфоблока»
Стал пробовать второй вариант, так как он выглядит проще. Он добавляется , но не падает в нужный раздел каталога (и статус у него неактивный). Это первый вопрос. Как это можно исправить? И как сделать оповещение администратору, что элемент добавлен проверь, стоит ли его активировать или это спам?
Вопрос второй: после добавления элемента в каталог как к нему автоматически дозаполнить свойство (которое есть в каталоге), аля номенклатура или порядковый номер , например 1.2.3.0, при следующем добавлении 1.2.3.1 … 1.2.3.N (автоматически за пользователя, выдавать ему порядковый номер)
Друзья кто – нибудь с подобным сталкивался? Помогите пожалуйста, своими советами.
Часть проблемы решена. Подскажите пожалуйста как при добавлении элемента в раздел инфоблока автоматически присваивать ему номенклатуру или порядковый номер (св-во число)?
Для загрузки пользователем элемента в инфоблок (в данном случае у меня каталог) ставим компонент iblock.element.add (добавить элемент). Далее для оповещения администратора создаем тип почтового события и почтовый шаблон. Добавляем код в файл init.php для отправки шаблона:
Код
<?
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "SendNewMessage");
function SendNewMessage(&$arFields) {
if(!($arFields['IBLOCK_ID']==5) ){return true;}
$arEventFields = array();
foreach($arFields as $k=>$v){
if(!is_array($v)){$arEventFields[$k]=$v;}
}
foreach($arFields['PROPERTY_VALUES'] as $k=>$v){
if(!is_array($v)){$arEventFields["PROPERTY_$k"]=$v;}
}
CEvent::Send("NEW", 's1', $arEventFields);
}
?>
Вроде работает, но в шаблон письма свойства не передает, пробую добавить:
Но все равно св-ва не отправляет на почту. Это 1 проблема, а вторая это дописать дополнительное св-во при добавлении элемента инфоблока с предопределенным номером (об этом выше написано). Если кто знает подскажите ...