Cómo imprimir un formulario contacto dentro de un paragraphs Drupal 9

Descripción

La Preprocess Function sirve para modificar los comportamientos por defecto de Drupal, en este caso vamos a acceder al formulario por defecto y lo haremos disponible para colocarlo dentro de un nodo y posteriormente dentro de un paragarphs, así podremos imprimirlo en cualquier lugar y posición dentro de la web.

Si quieres aprender más sobre las preprocess functions

Instrucciones

  1. Instalar el módulo Paragraphs y crear el Contenedor para nuestro "Formulario". Ej.: bloque_formulario.
     
  2. Añadiremos el paragraphs como campo del nodo en que deseamos colocar nuestro formulario.
     
  3. 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.
     
  4. Activamos el modo debug o depurador, para averiguar la sugerencia de la plantilla correspondiente al paragraphs.
     
  5. Creamos la plantilla y añadiremos dentro la variable que imprimirá nuestro "Formulario"
/* Implement hook_preprocess_paragraph() */
function SUBTHEME_preprocess_paragraph(&$variables) {

  $message = \Drupal::entityTypeManager()
        ->getStorage('contact_message')
        ->create(array(
          'contact_form' => 'feedback', //ID(Machine name) of form
        ));
      $form = \Drupal::service('entity.form_builder')->getForm($message);
      $variables['curso_practico_crea_tu_web'] = $form;

}

Herramienta o plataforma

Notas

No exiten notas para mostrar