Приклади сніпета eForm для створення зворотного зв'язку, замовлення дзвінка, оформлення замовлення товарів на Evolution CMS.
Ситуація, коли треба вивести форму в модальному вікні досить часта. Виведемо форму в модальному вікні Bootstrap 3.
Модальне вікно буде виглядати приблизно так:
Чанк tplForm:
<form method="post" action="04_extras/eform/10_primery.html" name="Form" id="Form">
    
        
        ...
    
    
</form>
Чанк tplThank:
Ваше сообщение надіслано.
Ну і останній штрих, потрібно розмістити приблизно такий скрипт:
<script>
    $(function(){
        $(document).on("submit","#Form",function(e){
            e.preventDefault();
            var m_method=$(this).attr('method');
            var m_action=$(this).attr('action');
            var m_data=$(this).serialize();
            $.ajax({
                type: m_method,
                url: m_action,
                data: m_data,
                resetForm: 'true',
                success: function(result){
                    var data = $(result).find("#myModal_form").html();
                    $("#myModal_form").html(data);
                }
            });
        });
    });
</script>
Створюємо приблизно такий виклик eForm, обгорнутий у діві з id ajaxContactForm - зверніть увагу що з цього id і буде вся прив'язка.
Тут звичайно можна ставити відразу форму без виклику через eForm, її ж полюбому оброботает плагін.
,  - ТВ змінні сайту збережені в системній таблиці за допомогою плагіна CfgTv.
[!eForm? &formid=`contactForm` &subject=`Сообщение с сайта EvoDOC` &tpl=`formTpl` &errorTpl=`errorTpl` &report=`reportTpl` &thankyou=`thankyouTpl` &gotoid=`244` &vericode=`0` &from=`` &to=`` !]
Скрипт Ajax обробки
Створюємо плагін наприклад AjaxSubmit який спрацьовує на подію OnPageNotFound
switch($_GET['q']){
    case 'ajaxContactForm':
        echo $modx->runSnippet(
            'eForm',
            array(
                'formid' => 'contactForm',
                'subject' => 'Повідомлення EvoDOC',
                'tpl' => 'formTpl',
                'report' => 'reportTpl',
                'thankyou' => 'thankyouTpl',
                'errorTpl' => 'errorTpl',
                'vericode' => 0,
                'protectSubmit' => '0',
                'from' => '',
                'to' => ''
            )
        );
        die();
    break;
}