Instrucciones
- Creamos un contenido con los campos que acompañarán al formulario Ej.: detalles_contacto
- En nuestro archivo SUBTEMA.theme (que forma parte de los archivos de todos los temas y subtemas), copiaremos el código que está debajo y cambiaremos los nombres por los de nuestro contenido.
- Instalar el módulo Paragraphs y crear el Contenedor para nuestro "Contenido + Formulario". Ej.: bloque_formulario.
- Activamos el modo debug o depurador, para averiguar la sugerencia de la plantilla correspondiente al paragraphs.
- Creamos la plantilla y añadiremos dentro la variable que imprimirá nuestro "Contenido + Formulario"
- Creamos la plantilla para nuestro nodo "detalles_contacto" y ponemos la variables que imprimirán sus contenidos + Formulario
Código
/** * Implements hook_preprocess_node() for node.html.twig. */ function SUBTEMA_preprocess_node(array &$variables) { if(isset($variables['node'])){ $node = $variables['node']; if(($node->getType() == 'detalles_contacto')) { $message = \Drupal::entityTypeManager() ->getStorage('contact_message') ->create(array( 'contact_form' => 'feedback', //ID(NOMBRE MAQUINA) del formulario )); $form = \Drupal::service('entity.form_builder')->getForm($message); $variables['feedback_form'] = $form; } } }