И так, рассказываю:
Для того, чтобы реализовать вывод документа на основании данных eForm нужно выполнить следующее:
1. Создаем сниппет eFormEvent (название не приниципиально)
<?php
if(!function_exists("postSession")){
function postSession(&$fields) {
$_SESSION['post'] = array();
foreach ($fields as $key => $value) {
$_SESSION['post'][$key] = $value;
}
return true;
}
}
return "";
?>
2. Создаем чанк blank.tpl с формой необходимого бланка (указаны плейсхолдеры из полей формы)
<h1>[+lastname+]</h1>
<h2>[+firstname+]</h2>
<h3>[+phone+]</h3>
3. Создаем сниппет postProcess, который будет заполнять плейсхолдеры чанка на целевой странице:
<?php
$chunk = $modx->parseChunk('blank.tpl', $_SESSION['post'], '[+', '+]');
return $chunk;
?>
4. На странице с формой пишем:
[!eFormEvent!]
[!eForm? &formid=`actionsForm` &tpl=`form.tpl` &gotoid=NNN &noemail=1 &eFormOnBeforeMailSent=`postSession`!]
где NNN - это id целевой страницы с бланком.
Обращаю внимание на некешируемый вызов сниппетов: если указать [[eFormEvent]] будет PHP Fatal error: Call to undefined function postSession()
5. На странице с бланком вызываем сниппет postProcess:
Таким образом мы получили страницу с уникальным шаблоном, заполненную данными на основании формы eForm с валидацией и прочими радостями.
Можно конечно и eMail отправлять (убрать параметро noemail), но в моей задачи это не требовалось.