Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Скрыть пустые поля из почтового шаблона - как?

00 голосов
3
Есть почтовый щаблон, есть поля, которые не обязательно заполнены, каким образом можно удалять их из письма? или только через обработку события в init.php? Если так, то подскажите, какое событие использовать?
спросил 15 Март, 13 от Snezhka (2,240 баллов)

3 Ответы

00 голосов
OnBeforeEventSend
и собственно правка шаблона
CEventMessage::Update

Но это не правильный подход будет, при каждом срабатывании события править шаблон.

Лучше в компоненте генерировать изменяющийся текст письма в один ключ массива, тогда сразу можно отбрасывать ненужные поля, например так:
Код
if($email)
$MESSAGE .= "EMAIL: ".$email."<br>";

if($address)
$MESSAGE .= "address: ".$address."<br>";

$arFields = Array(
        "NAME" => $NAME
        "MESSAGE"  => $MESSAGE,        
        );

CEvent::Send("SEND_TEMPLATE", $arrSITE, $arFields);



а в почтовом шаблоне просто вывести:

#MESSAGE#
ответил 15 Март, 13 от Poleolog (1,240 баллов)
00 голосов
Я правильно понимаю, что в компоненте "form.result.new" для отправки используется "CFormResult::Mail($RESULT_ID);"?
ответил 19 Март, 13 от Snezhka (2,240 баллов)
00 голосов
и не могли бы вы подсказать как все-таки кастомизировать компонент? а точней получить доступ к полям?
ответил 31 Май, 13 от Snezhka (2,240 баллов)

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

0 голосов
0 ответов
спросил 31 Дек, 13 от EvaGirl (100 баллов)
0 голосов
5 ответов
спросил 20 Сен, 13 от Klyaks (180 баллов)
0 голосов
5 ответов
спросил 19 Дек, 13 от KAN155 (160 баллов)
0 голосов
9 ответов
0 голосов
3 ответов