Sinecuraweb
@Sinecuraweb
прошарен на 10%

Как узнать какой email использует форма в Битриксе?

skrinshoter.ru/s/310516/ANIyXu?a

Есть тип инфоблоков -формы, их порядка 10 штук с разной версткой разбросанных на сайте, Как мне узнать на какую почту должны падать письма? Я видел в настройках главного модуля указывается почта, и в принципе сейчас туда и падают все письма. Я хочу сделать для каждой формы отдельный email , где это можно настроить? И еще, если кто-то встречал подробный туториал как запрограммировать форму свою на Битриксе,поделитесь ссылочкой)

p.s Нашел в почтовых событиях skrinshoter.ru/s/310516/oSfkU7?a , но скорее всего "настройки" и есть настройки главного модуля, тут уже другой вопрос как добавить #DEFAULT_EMAIL_FROM_1#
#DEFAULT_EMAIL_FROM_2# , т.е свои поля. ну да ладно
  • Вопрос задан
  • 1370 просмотров
Решения вопроса 1
@SirBataneg
веб-разработчик
В обработчике OnAfterIBlockElementAdd переопределяете всё, что хотите и отправляете через CEvent::SendImmediate

Пример:
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("CIBlockHandlers", "OnAfterIBlockElementAddHandler"));

class CIBlockHandlers{
	function OnAfterIBlockElementAddHandler(&$arFields){
		if( $arFields["ID"] > 0 ){

			$arFilter = Array("ID" => $arFields["ID"] );
			$arSelect = Array("ID", "IBLOCK_CODE","NAME", "PROPERTY_TEXT", "PROPERTY_PHONE", "PROPERTY_EMAIL");
			$res = CIBlockElement::GetList(array("SORT"=>"ASC"), $arFilter, false, false, $arSelect);
			while( $ob = $res->GetNextElement() ){
				$arFields2 = $ob->GetFields();

				if($arFields2["IBLOCK_CODE"]=="complaints"){
				
				$arFieldsEmail = array(
					"PHONE"			=> $arFields2["PROPERTY_PHONE_VALUE"],
					"EMAIL_FROM_1"	=> $arFields2["PROPERTY_EMAIL_VALUE"],
					"TEXT"			=> $arFields2["PROPERTY_TEXT_VALUE"],
					);
				CEvent::SendImmediate("MAIL_DIRECTOR","s1",$arFieldsEmail);
				}
			}

		}             
        else
             AddMessage2Log("Ошибка добавления записи (".$arFields["RESULT_MESSAGE"].").");
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sabramovskikh
@sabramovskikh
Для форм есть специальная штука joxi.ru/Y2LkLyahnz8W3m
У вас слишком кастомно, поэтому делайте как хотите (скорее всего можно указать в почтовых шаблонах), либо обратитесь к специалисту
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы