не красиво конечно через eval, но можно сделать так:
1) В почтовом шаблоне добавить код вида
#PHP#mysuperfunction(rand(0,1));#
2) Описываем свою функция mysuperfunction в init.php например
Код |
---|
function mysuperfunction($n){
return $n==1?'hi':'bye';
} |
3) Используем событие OnBeforeEventSend, где 2м параметром приходит $db_mail_result_array, где есть MESSAGE - ключ по которому находится тело письма. Парсим текст в поиска конструкции по регулярке
"~#PHP#([^#])#~i"
делаем eval по полученному значению, затем preg_replace результата eval все по той же регулярке