Entityform под Drupal 8 теперь называется EForm и, как ни странно, программный вывод отличается от подхода в 7-ке. Это небольшая заметка о том как выводить EForm программно.
Программный вывод EForm contact_form
$eform_type = EFormType::load('contact_form');
$eform_submit = new EFormSubmissionController();
$form = $eform_submit->submitPage($eform_type);
В $form
будет находиться render array с формой. Далее, в зависимости от
ситуации, вы либо сразу отдаете его, либо рендерите через render()
.
Тоже пока не вьехал. Он к тому же ещё и люто багает. По сути то да, Contact стал аналогом Entityform в ядре. Единственное отличие по всей видимости в том, что EForm хранит все отправления на сайте. Также у EForm можно прямо в админке разрулить кому можно заполнять форму, переопределение сообщений об успешном отправлении и кнопки отправить, возможность запоминать заполнение юзером, чтобы при следующем разе все данные подгрузились если форма не была отправлена. Отсюда же вытекает то что можно запретить отправлять более 1 раза и показывать своё предыдущее оправление и с возможностью поправить его.
Все кроме сохранения отправлений на сайте на самом то деле не нужно. Хотя сообщение об успешном отправлении я юзал, удобненько без альтеров всё.