Enviar um formulário para o modelo de galho

9

Como posso passar um modelo para um modelo de galho no Drupal 8?

Por exemplo, eu recebo isso:

um formulário: mymodule / src / Form / MyForm.php

Então no meu controlador:

public function myController() {

    ??????

    return [
        '#theme' => 'mytemplate',
        ??????
        ];
}

mytemplate.html.twig

{{ ????? }}
rpayanm
fonte
Você quer dizer que você deseja que o objeto da entidade esteja disponível no pré-processo / modelo ou que a visualização renderizada da entidade esteja disponível?
Clive
@Clive Quero que a visualização renderizada da entidade esteja disponível para envio ao modelo e, em seguida, isso a mostra.
Rpayanm
11
Não existe uma "entidade de renderização". nós e blocos têm uma API semelhante para serem exibidos, mas os formulários são bem diferentes e definitivamente não são uma entidade. Faça uma pergunta específica e você receberá uma resposta que o ajudará. que tipo de entidade, você apenas deseja ver com a saída padrão, ou usá-lo em seu próprio modelo, ...
Berdir
Deixe-me editar a pergunta.
Rpayanm
Ainda não há informações suficientes. Então, novamente, que tipo de entidade você deseja gerar? E o que seu modelo está fazendo exatamente. Em resumo, qual é a sua entrada e a saída esperada. Inclua também sua implementação hook_theme ().
Berdir

Respostas:

14

Bem, eu fiz isso, para quem precisa disso:

public function pageAction() {
  $myform = \Drupal::formBuilder()->getForm('Drupal\[mymodule]\Form\[myformclass]');
  // If you want modify the form:
  $myform['field']['#value'] = 'From my controller';

  $build = [
    '#theme' => 'mytemplate'
    '#form' => $myform,
  ];
}

Em galho:

{{ form }}
rpayanm
fonte