Вы находитесь на странице: 1из 10

21 Creating forms with Webform

El mdulo Webform permite crear formularios en Drupal de una forma rpida y relativamente sencilla. Adems, no se requieren conocimientos de programacin y/o HTML. Podemos utilizar Webform para crear formularios de solicitud de informacin o contacto, encuestas, cuestionarios de evaluacin, etc. Los usuarios gestores podrn consultar todos los envos del formulario realizados por los visitantes o usuarios del sitio, pudiendo exportar los resultados a una hoja de clculo compatible con Excel, para su posterior anlisis o procesamiento. Adems, tambin se puede configurar cada formulario para que, una vez enviado, tanto el administrador como el propio usuario reciban un correo electrnico con su contenido. En esta unidad aprenderemos a configurar Webform y a crear formularios con distintos componentes (texto, listas de seleccin, fecha, etc.). Por ltimo, introducimos algunos mdulos adicionales relacionados con Webform y que pueden resultar de utilidad para incrementar sus funcionalidades.
Comparativa D7/D6 Webform versiones 2 y 3 En esta unidad estudiamos la versin 3 de Webform. No podemos hablar de diferencias notables entre Drupal 6 y Drupal 7, pero s de importantes cambios entre las versiones 2 y 3 del mdulo, ambas disponibles en Drupal 6 y 7. Como en el curso de Drupal 6 analizamos la versin 2 del mdulo, s que introducimos importantes cambios en esta unidad.

Contenidos de la unidad
21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 Instalacin y configuracin de Webform .......................... 2 Creacin de formularios con Webform............................. 5 Configuracin de correos electrnicos ........................... 20 Ajustes de formulario .................................................. 23 Anlisis de resultados .................................................. 26 Permisos .................................................................... 27 Validacin de campos de formulario .............................. 28 Uso de taxonoma en listas de seleccin ........................ 32

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform

21.1 Instalacin y configuracin de Webform


El mdulo Webform es la herramienta ideal para elaborar formularios de todo tipo: contacto, encuestas, formularios de pedidos, formularios para realizar reservas, etc. Como ejemplo de formulario que se puede construir con Webform, se muestra en la Figura F21.1 un formulario de contacto tpico.
F21.1 Formulario creado con Webform Ejemplo de formulario creado con Webform. Webform permite crear formularios sin conocimientos de programacin.

El mdulo Webform est disponible en: http://drupal.org/project/webform Una vez instalado y activado, incluyendo su traduccin a espaol, podremos configurar los parmetros generales de Webform accediendo a:
URL Configuracin Webform /admin/config/content/webform

Administration Configuration Content authoring Webform settings Encontraremos las siguientes opciones: F21.2

Webform-enabled content types. Para los tipos de contenido seleccionados aqu se habilitarn los componentes de formulario de Webform. En principio no ser necesario activar nuevos tipos de contenido, ya que el mdulo ha creado el tipo Webform, que ser el que utilicemos para crear los formularios.

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform

F21.2 Webform settings Desde la configuracin del mdulo podemos elegir los tipos de contenido en los que se aplicarn los componentes de formulario. Tambin podemos seleccionar qu componentes estarn disponibles. Por ltimo indicaremos los valores predeterminados para el envo de correos electrnicos relacionados con los formularios.

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform

Webform components. A continuacin se muestra una lista con los componentes de formulario disponibles. Desde esta opcin podemos desactivar los componentes que no queremos que estn disponibles en la creacin de formularios. En el siguiente apartado veremos para qu se utiliza cada uno de estos componentes. Default e-mail values. Permite definir los valores predefinidos para los envos por email asociados al formulario. Luego, al crear los formularios, se podrn realizar cambios especficos para cada uno de ellos. Advanced options: o
F21.3

Allow cookies for tracking submissions. Permite hacer uso de cookies para controlar que un mismo usuario no pueda enviar varias veces el mismo formulario. Adems de este mtodo Webform utiliza otros mtodos de control, como el nombre de usuario o la direccin IP. E-mail address format. Podemos elegir entre el Formato largo, con el que se incluye un Nombre adems de la direccin de correo electrnico, o el Formato corto, con slo la direccin de correo. El mtodo largo puede no se compatible con todos los servidores, especialmente algunos basados en Windows. Default export format and Default export delimiter. Ambos parmetros permiten configurar la exportacin de datos, que se realiza en formato CSV. El delimitador de exportacin es el caracter que separar los campos que componen el formulario, para que el fichero que se puede descargar con los resultados de los envos sea fcilmente interpretable por otros programas. Submission access control. Permite restringir el envo de los formularios segn el rol del usuario (opcin por defecto y recomendada). Se indicar en cada formulario qu roles podrn enviar el formulario.

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform

F21.3 Advanced Options En el apartado Opciones Avanzadas podemos establecer otros parmetros de Webform, como permitir las cookies para prevenir el envo de formularios repetidos, el formato de la direccin de correo que se usar en los campos de e-mail, o establecer un control de acceso al envo de formularios.

Creacin de formularios con Webform


Una vez configurado el mdulo, ya podemos crear formularios. El mdulo aade el tipo de contenido Webform, por lo que crearemos el formulario desde: F21.4 Administration Content Add content Webform En el primer paso de creacin del contenido slo tendremos disponibles los campos habituales de los nodos: ttulo, cuerpo (que se mostrar antes de los elementos del formulario), formato de texto y resto de grupos de opciones.

21.2

URL Create Webform /node/add/webform

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform F21.4 Create Webform En el primer paso de creacin del formulario debemos especificar los valores comunes a cualquier nodo: ttulo, cuerpo, formato de entrada, alias de URL, etc. El cuerpo se mostrar antes de los elementos de formulario, por lo que puede utilizarse como introduccin o explicacin de la finalidad del formulario.

Una vez creado el nodo, crearemos y gestionaremos los componentes de F21.5 formulario desde la pestaa Webform.
F21.5 Webform tab Desde la pestaa Webform podremos con figurar el formulario y aadir componentes.

Dentro de la pestaa Webform veremos tres subpestaas: Form components. Es la pestaa activa por defecto, desde donde podemos aadir, editar o eliminar los campos del formulario. E-mails. Permite establecer distintas direcciones de correo donde se enviar un aviso o copia del formulario (por ejemplo, podremos enviar una copia del formulario al usuario que lo complet, o al administrador del sitio). Form settings. Aqu podremos especificar parmetros de configuracin concretos para este formulario. Por ejemplo, se podr cerrar el formulario para que no acepte ms envos, o limitarlo a unos roles determinados.

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform

En este apartado continuaremos con el anlisis de los componentes de formulario, dejando las otras dos subpestaas para apartados posteriores.

Form components
Una vez creado el nodo, aadiremos los componentes del formulario desde la F21.5 subpestaa Form components. Tan slo debemos seleccionar el tipo de componente que deseamos aadir, asignarle un nombre y hacer clic en el botn Add. Podemos indicar tambin si el campo es Mandatory, lo que significa que no se podr enviar el formulario sin rellenar el campo. A continuacin describimos brevemente los diferentes tipos de componentes de formulario disponibles con el mdulo Webform: Date. Muestra campos de da, mes y ao. E-mail. Se trata de un campo de texto para que el usuario indique una direccin de email. El componente tiene opciones de tratamiento especiales que permiten comprobar si un email es vlido. Fieldset. Permite agrupar varios campos dentro de un mismo bloque, generalmente relacionados. Por ejemplo, podemos crear un conjunto de campos Datos personales para agrupar los componentes Nombre, Apellidos y Direccin. File. Permite adjuntar archivos al formulario. Grid. Permite la creacin de tablas con varias preguntas que comparten las mismas respuestas posibles. Un ejemplo tpico son las encuestas de satisfaccin, donde para cada pregunta se puede seleccionar un valor entre 1 (muy malo) y 5 (excelente). En la primera columna se mostrarn las preguntas, mientras que en el resto de columnas se podr seleccionar entre las respuestas posibles (utilizando botones de seleccin de radio). Hidden. Se trata de un elemento del formulario no visible para el usuario (y que no puede modificar), pero que se enva con el resto de campos del formulario. Sirve para incluir informacin adicional en el formulario, pero que no queremos que est visible para el usuario. Por ejemplo, puede ser til para incluir un identificador numrico (de un curso, un usuario, etc.). Markup. Muestra un bloque de texto (con formato) en el formulario. Puede ser til para incluir cualquier tipo de contenido adicional. Es un componente informativo, con el que no interacta el usuario. Page break. Permite dividir el formulario en varias pginas o pasos. Select options. Permite crear listas de seleccin de elementos, que pueden ser en formato checkbox (se pueden seleccionar varias opciones), botones de radio (slo se puede seleccionar una opcin) o listas de seleccin o select (de seleccin nica o seleccin mltiple). Textarea. Permite incluir en el formulario un rea de texto de varias lneas.
Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level 7

Unit 21. Creating forms with Webform

Textfield. Se trata de un campo de texto de una sola lnea. Time. Muestra al usuario campos para seleccionar la hora y el minuto.

Una vez hagamos clic en Add se mostrarn las opciones de configuracin del campo. Estas opciones podrn variar en funcin del tipo de componente. Veremos, de forma resumida, las opciones disponibles para cada componente.

Opciones comunes a los componentes


Antes de estudiar las opciones especficas de cada tipo de componente, veremos algunas opciones comunes a casi todos los tipos de componentes. F21.6
F21.6 Opciones comunes en los componentes En la figura se muestran algunas de las opciones comunes a casi todos los tipos de componentes de formulario.

Label. Es el nombre del campo, que se muestra al usuario junto al campo (como Nombre, Apellidos, Telfono, etc). Field Key. Se trata del nombre de sistema o identificador que utiliza Drupal internamente. Debe ser un texto nico que identifique al campo, pudiendo utilizarse minsculas, nmeros y guiones bajos. Default valur. Permite establecer un valor por defecto para el campo, que el usuario podr cambiar. Description. En este campo se puede aadir la informacin adicional que consideremos necesaria para explicarle al usuario cmo completar el campo. Mandatory. Indica si el campo es obligatorio o no. Un formulario no se enviar si quedan pendientes de completar campos obligatorios. Unique. No permite valores repetidos en el campo, aunque se hayan introducido por diferentes usuarios. Por ejemplo, podemos solicitar el correo electrnico, de forma que no se puedan enviar dos formularios

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform

con el mismo valor de correo electrnico. Tambin veremos en algunos campos el apartado Token values. Al desplegar estos apartados podremos ver una serie de tokens, que son cadenas que, introducindolas en algunos campos, se sustituirn por sus valores correspondientes. Por ejemplo, si en el campo Descripcin introducimos la cadena "Bienvenido a %site", al usuario se le mostrar la cadena final cambiando el parmetro %site por el nombre del sitio (Por ejemplo, "Bienvenido a Aprende Drupal con Forcontu"). En el apartado Display tambin encontraremos las siguientes opciones comunes: Label display. Podemos elegir dnde queremos que se muestre la etiqueta principal del campo: Above, Inline (a la izquierda) o None (no muestra la etiqueta). Disabled. Permite bloquear el campo. El campo se mostrar pero no se podr modificar su valor. Es til si queremos aadir un valor por defecto no modificable por el usuario. Private. Los campos privados slo se mostrarn a los usuarios con permisos para ver las respuestas enviadas.

En el apartado Posicin podremos indicar el elemento de agrupacin padre (componente de tipo Conjunto de campos o Fieldset) y el orden o peso con respecto a otros componentes que estn en el mismo nivel.

Textfield component
El componente Textfield permite crear entradas de texto simple, de una sola lnea y sin formato. En la Figura se F21.7 muestran dos componentes de tipo Textfield, tal y como los vera el usuario final a la hora de completar el formulario. El campo acompaado de un asterisco (*) es un campo obligatorio (se ha marcado la opcin Mandatory).
F21.7 Campo de texto Ejemplo de componentes de tipo Campo de texto, tal y como se mostrarn en el formulario.

Las opciones de configuracin especficas para el componente Campo de texto son: F21.8 Maxlength. El nmero mximo de caracteres que se permite introducir en este campo. Width. Permite definir el ancho de la caja que se muestra (en nmero de caracteres). Prefix text placed to the left of the textfield. Permite indicar un texto que se mostrar a la izquierda del campo. Postfix text placed to the right of the textfield. Permite indicar un texto que se mostrar a la derecha del campo. Se utiliza, por ejemplo, para unidades de moneda, peso, medidas, etc.

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Unit 21. Creating forms with Webform

F21.8 Campo de texto. Configuracin Parmetros de configuracin especficos de un componente de tipo Campo de texto.

Fieldset component
El componente Fieldset permite agrupar varios campos dentro de un mismo bloque (en HTML un fieldset). Es til para agrupar componentes relacionados. En la Figura se muestra el F21.9 resultado de agrupar los campos Nombre y Apellidos dentro de Datos personales, componente de tipo Fieldset.
F21.9 Fieldset Ejemplo de uso del componente Fieldset para agrupar otros componentes.

Las opciones de configuracin especficas del componente Fieldset son:


F21.10

Collapsible. Indica si el grupo de opciones se puede plegar/desplegar. Collapsed by Default. Si se selecciona la opcin anterior, es posible indicar que inicialmente el grupo de opciones se muestre plegado. Hide label. Si est activado no se mostrar la etiqueta de este campo.

10

Learn Drupal with Forcontu | Expert in Drupal 7 | Intermediate Level

Вам также может понравиться