form api

Webform | Agregar campo para adjuntar archivos

Video de Youtube
URL de Video remoto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

   En todo formulario, es posible que necesitemos ofrecer la oportunidad al usuario, para que nos envíe documentación adjunta, ya sea una imágen, un archivo en formato Pdf, Word, Excel, Txt, o cualquier otro tipo que nos haga falta.

   Así que en esta ocasión, vamos a configurar un campo que permita esta opción, además de que los archivos que adjunte el usuario, sean guardados en la carpeta de Archivos privados de Drupal; de esta manera, como administradores, podremos consultar dichos adjuntos, desde la interfaz de usuario, además de recibirlos en el correo electrónico enviado.

   Configuración del campo para adjuntar archivos

     Al igual que hacemos para añadir cualquier otro campo, nos iremos a la pantalla de configuración del webform, y haremos clic en el botón de Añadir elemento, ubicado en la parte superior izquierda.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Pero notaremos que no vamos a encontrar la opción File, para poder configurar el campo que nos permitirá adjuntar archivos a nuestro webform, esto se debe a que, antes de poder adjuntar archivos, tendremos que crear la carpeta donde se guardarán los archivos privados de nuestro Drupal, por lo tanto, crearemos una nueva carpeta, si todavía no la tenemos, llamada private, dentro de nuestra carpeta "web/sites/default/files"; a continuación, abriremos el archivo settings.php, y buscaremos la siguiente línea, que estará comentada:

# $settings['file_private_path'] = '';

     A continuación, descomentaremos la línea, y añadiremos entre las comillas, la misma ubicación en la que se encontrará nuestra carpeta de archivos private.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Guardaremos el cambio, y borraremos el cache de Drupal, para estar seguros de que la configuración se actualiza. Podremos hacerlo por consola, usando Drush, o mediante la interfaz de usuario de Drupal.

drush cr

    Una vez activado el submódulo, podremos volver a nuestro Webform y una vez encontremos nuestro formulario, haremos clic en Constuir o Build, dependiendo del idioma que hayas seleccionado en tu instalación de Drupal, y accederemos a las opciones para seguir añadiendo campos o modificar la configuración de nuestro Webform.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Si volvemos a intentar añadir un nuevo campo, esta vez, tendremos las opciones relacionadas con el campo de Adjuntar archivos o Attach File. Entonces, pordremos pasar a la fase de configuración para nuestro campo, dependiendo de la opción que nos haga falta.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Cuando estemos dentro de la configuración para nuestro nuevo campo, veremos que aparecerá marcada la opción de guardar los archivos adjuntos en la carpeta de archivos privados, que hemos configurado previamente dentro de settings.php.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Cuando hayamos terminado con la configuraición de nuestro campo, (Si es obligatorio, si mostrará el título, etc.), entonces, podremos confirmar el aspecto del formulario, haciendo clic en el botón Ver de la parte superior de la página de configuración para Webform. 

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     El resultado de nuestro nuevo formulario, debería ser parecido a la siguiente imagen, en la que se especifica las extensiones permitidas para los archivos adjuntos.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Ha llegado el momento de realizar nuestra primera prueba, rellenaremos el formulario y elegiremos una imagen como archivo adjunto, una vez tengamos todo listo, presionaremos el botón enviar.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Deberíamos ver el mensaje de confirmación de que se ha enviado nuestro formulario correctamente, aunque no tengamos habilitado ningún servidor de correos, en este caso el formulario guardará los datos dentro de la base de datos de Drupal y el archivo en la carpeta privada correspondiente.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Si vamos a la carpeta de los archivos privados, podremos comprobar, que se ha creado una con el nombre de nuestro formulario, además de otras para los archivos que se irán añadiendo a medida que sigamos trabajando con el webform.

Webform | Módulos Drupal - Primeros pasos

Video de Youtube
URL de Video remoto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

     A pesar de que el formulario de contacto que viene por defecto, en cualquier instalación de Drupal, nos brinda una solución rápida, para ofrecer a nuestros usuarios, un mecanismo de comunicación eficaz, en algunas ocasiones, necesitaremos añadir otras funcionalidades como formularios de múltiples pasos, adjuntar fomatos específicos, o añadir interacciones dependiendo de los campos que se vayan completando.

     Por suerte, existe un módulo bastante potente, conocido como Webform, que nos permitirá un gran número de opciones adicionales, con las que podremos satisfacer la mayoría de los requerimientos para nuestros proyectos, sin la necesidad de abandonar la interfaz de usuario de Drupal.

   Módulo Webform

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

Descarga y Activación:

Para descargar y activar cualquier módulo de Drupal tienes varias opciones:

     Descarga:

          1.- La forma recomendada a partir de Drupal 8, es utilizando el gestor de paquetes Composer, ejecutando en tu consola el comando:

composer require drupal/webform

          2.- Descargándolo manualmente el módulo desde la página oficial del Módulo Webform y una vez descargado y colocado en carpeta "modules/contrib", si haz descargado todos tus módulos manualmente, deberías crear la carpeta "contrib", para que puedas diferenciar entre tus módulos personalizados y los que están disponibles directamente en la Página oficial de Drupal.
 

     Activación:

          1.- Utilizando la herramienta de consola Drush, la opción "-y" activará todos los sub-modulos automáticamente

drush en webform -y

          2.- Desde la interfaz de usuario de Drupal, en la url "/admin/modules", y luego marcando el check junto al nombre de tu módulo y haciendo clic en el botón guardar que aparecer al final de la página.

     A diferencia de otros módulos, Webform cuenta con una larga lista de Submódulos y librerías que permiten ampliar sus funcionaliadades, dependiendo de las necesidades requeridas para tus proyectos. En esta serie de cursos explicaremos algunas de las más comunes, para que puedas comenzar a utillizalas.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

   Cómo añadir campos en un Webform

     Para añadir los campos en un formulario, con el módulo webform, haremos clic en el botón "Añadir elemento", ubicado en la parte superior izquierda, de la pantalla del formulario y a continuación, seleccionaremos el tipo de campo que intentamos añadir.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     A continuación, completaremos la configuración del campo, rellenando todos los datos según nuestras necesidades. Entre las opciones estarán mostrar el título del campo, hacerlo obligatorio, marcador de posición, entre otras.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     Para ver el resultado del formulario, haremos clic en la pestaña VER, ubicada en la parte superior izquierda de la página de configuración del Webform.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

Cómo mostrar un Webform

     Existen varias formas de añadir formularios, creados con Webform a nuestros contenidos, las más comunes son las siguientes:

     1.- Añadiendo el formulario a un bloque y mostrándolo en el lugar y posición que nos interesa:
En este caso, nos iremos a la página de configuración de los bloques, ubicada en la url "/admin/structure/block", y a continuación añadiremos un bloque de la manera habitual, haciendo click en la región y, a continuación buscaremos webform dentro de los nombres disponibles.

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     2.- Añadir formulario mediante un campo referenciado:
     Con esta opción, podremos añadir tantos formularios como necesitemos, dentro de cualuquier contenido, bloque o incluso paragraphs. Sólo tendremos que añadir el tipo de campo referenciado Webform, que nos aparecerá una vez instalado el módulo y a continuación, veremos el listado de todos los formularios disponibles para "Incrustar", junto con el resto de campos. Así no necesitaremos la ayuda de hooks, para que se muestren dentro de cualquier nodo en Drupal.
   Si utilizamos esta opción, tendremos que seleccionar "Mostrar formulario renderizado", para que se muestre tal y como lo hemos diseñado. 

Webform Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     3.- Usando Hooks:

  1. Puedes acceder al listado de hooks con su explicación, haciendo clic en el menú de Snippet y marcando el filtro hooks.

Webform | Módulos Drupal - Presentación

El módulo Weform es uno de los más completos y potentes módulos de Drupal, permite crear, modificar y configurar formularios, utilizando la interfaz de usuario de Drupal. Posee además numerosas librerías adicionales, que podrán descargarse y activarse, para extender su capacidad hasta cumplir la mayoría de las necesidades existentes en un proyecto.

En este curso, exploraremos los principales temas relacionados con su instalación y varias de las configuraciones disponibles para los formularios creados con él.