D8 визуализируйте контактную форму из предварительной обработки темы


Я хочу отобразить форму в представлении узла. Я сделал ссылку на сущность в контактной форме, затем в preprocess_node я пытаюсь получить массив визуализации контактной формы.

function mysupertheme_preprocess_node(&$variables) {
  $node = $variables['node'];

  if ($node->getType() == 'mynodetype') {
    if (!empty($node->field_mynodetype_form->referencedEntities())) {
      $contact_form = $node->field_mynodetype_form->referencedEntities()[0];
      $message = \Drupal::entityManager()
      ->getStorage('contact_message')
      ->create(array(
        'contact_form' => $contact_form->id(),
      ));

      //$form = \Drupal::entityFormBuilder()->getForm($message);
    };
  }
}

Я не знаю, как вызвать entityFormBuilder в предварительном процессе. Правильно ли это делать? Как я могу отобразить выбранную контактную форму в узле?

Спасибо

Author: magiccyril, 2015-11-26

1 answers

Ваш код будет работать, когда будет реализован этот патч:

Добавьте конструктор представлений для формы contact_form

 2
Author: 4k4, 2015-11-26 15:08:15