Сделать макрос к почтовым шаблонам скрывающий пустые поля

Рейтинг: 7.8960  
На голосовании
Предложил Пользователь 103548 06.03.2013 10:54:01

Сделать макрос к почтовым шаблонам скрывающий пустые поля

Сделать макрос к почтовым шаблонам скрывающий пустые поля в письме.
Часто клиент не хочет видеть в письме те поля которые не заполнены пользователем.
Допустим, есть форма из несколько десятков полей, из которых пользователь заполняет половину. Получается что в письме мы шлем все поля.
А если сделать макрос такого типа в шаблоне:

 {if #FIELD_NAME_USER_NAME}Имя нашего любимого пользователя: #FIELD_NAME_USER_NAME{/if}
Т.е. если поле #FIELD_NAME_USER_NAME пустое, то мы его не включаем в письмо. Получается очень будет удобно. Причем это довольно простое решение.

Рейтинг: 0  
Пользователь 103548 06.03.2013 13:21:23
Если сделать такие простые макросы в шаблоне писем, то можно избежать кастомизации компонентов.
Допустим, мне нужно при отправке письма вычислить что-то и это значение вывести в шаблоне, мне проще указать такой макрос:




Нужное мне значение в шаблоне письма: {call:имя_вызываемой_функции}


т.е. функция мне вернет значение которое будет добавлено в письмо. Допустим это будет значение email текущего юзера.
Рейтинг: 0  
Пользователь 14686 06.03.2013 15:42:22
Если сделать такие простые макросы в шаблоне писем, то можно избежать кастомизации компонентов.
А чем вам события не приглянулись?

{if #FIELD_NAME_USER_NAME}Имя нашего любимого пользователя: #FIELD_NAME_USER_NAME{/if} — тут согласен
Рейтинг: 0  
Пользователь 103548 06.03.2013 17:52:49
А чем вам события не приглянулись?
Часто встречаются ситуации, когда сам пользователь хочет создавать шаблоны, соотв. никакие события он программировать не будет. А вот скопировать строчку :
{call:имя_вызываемой_функции} 

он в состоянии.
Мне кажется этот механизм проще для всех.