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.