Enviar un formulario a la plantilla de ramita

9

¿Cómo puedo pasar un formulario a la plantilla de ramita en Drupal 8?

Por ejemplo, me sale esto:

un formulario: mymodule / src / Form / MyForm.php

Luego en mi controlador:

public function myController() {

    ??????

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

mytemplate.html.twig

{{ ????? }}
rpayanm
fuente
¿Quiere decir que desea que el objeto de entidad esté disponible en el preproceso / plantilla, o que desee que esté disponible la vista renderizada de la entidad?
Clive
@Clive Quiero que la vista renderizada de la entidad esté disponible para enviar a la plantilla y luego esto se muestra.
rpayanm
1
No existe una "entidad de representación". los nodos y los bloques tienen una API similar para mostrarse, pero los formularios son bastante diferentes y definitivamente no son una entidad. Haga una pregunta específica y recibirá una respuesta que lo ayudará. qué tipo de entidad, solo desea ver con la salida predeterminada, o usarla en su propia plantilla, ...
Berdir
Permítanme editar la pregunta.
rpayanm
Eso todavía no es suficiente información. Entonces, de nuevo, ¿qué tipo de entidad quieres generar? ¿Y qué está haciendo exactamente tu plantilla? En resumen, ¿cuál es su entrada y salida esperada? También incluya su implementación hook_theme ().
Berdir

Respuestas:

14

Bueno, lo hice, para cualquiera que necesite esto:

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,
  ];
}

En ramita:

{{ form }}
rpayanm
fuente