Saltar al contenido principal

Formularios públicos

Hay dos formas de tener un formulario en tu sitio público:

  • Formulario simple con {{#form}} — creas un registro en una tabla existente (por ejemplo, tabla Contactos). Rápido, hecho desde el propio generador de páginas.
  • Formulario diseñado con Form Builder — formularios ricos con validaciones, condicionales, campos calculados. Los diseñas en el plugin Form Builder y los incrustas con dos líneas de código en cualquier página.

Este capítulo cubre las dos.

Opción 1 — Formulario simple con {{#form}}

Preparar tu tabla

Decide en qué tabla se guardarán los envíos. Ejemplo: tabla contactos con:

  • Nombre (Texto, requerido)
  • Email (Email, requerido)
  • Mensaje (Texto largo, requerido)
  • Fecha (Fecha, autocompletable)

Insertar el formulario

En la página, elige la tabla contactos y usa el botón Insertar formulario. Se arma automáticamente un {{#form}} con un input por columna:

{{#form}}
{{input nombre_contacto}}
{{input email_contacto}}
{{textarea mensaje_contacto}}
{{submit "Enviar"}}
{{/form}}

Puedes editarlo, poner labels y agrupar en <div>s de Bootstrap.

Formulario personalizado

<div class="container my-5">
<h2>Contáctanos</h2>

{{#form}}
<div class="mb-3">
<label class="form-label">Tu nombre</label>
{{input nombre_contacto}}
</div>

<div class="mb-3">
<label class="form-label">Tu correo</label>
{{input email_contacto}}
</div>

<div class="mb-3">
<label class="form-label">Tu mensaje</label>
{{textarea mensaje_contacto}}
</div>

{{submit "Enviar mensaje"}}
{{/form}}
</div>

Los inputs generados incluyen la clase form-control de Bootstrap.

Etiquetas dentro de formularios

EtiquetaQué genera
{{input campo_x}}Input de texto (o el tipo correcto según la columna)
{{textarea campo_x}}<textarea> multilínea
{{file campo_x}}Subida de archivo/imagen
{{submit "Texto"}}Botón de envío

Para selects, radio y checkboxes, usa Form Builder (opción 2 abajo).

Formularios con subida de archivos

Si tu tabla tiene campo tipo Archivo o Imagen, usa {{file campo_x}}:

{{#form}}
{{input nombre_postulante}}
{{input email_postulante}}
{{file cv_postulante}}
{{submit "Enviar CV"}}
{{/form}}

El archivo se sube a web/uploads/ y se guarda su URL en la columna.

Opción 2 — Formulario diseñado con Form Builder

Cuando necesitas más control (selects, condicionales, validaciones, listas dinámicas), usa Form Builder.

Diseñar el formulario

  1. Constructor de formularios → Nuevo formulario.
  2. Ponle nombre (Solicitud de servicio).
  3. Arrastra campos desde la izquierda: Número / Título, Texto corto, Texto largo, Número, Lista desplegable, Opción única, Opción múltiple, Fecha, Hora, Fecha y hora, Archivo, Imagen, Firma.
  4. Selecciona cada campo y define su etiqueta, si es obligatorio, y en las listas las opciones.
  5. Abajo a la izquierda configura el texto del botón, el mensaje de éxito y si estará disponible en la web pública.
  6. Guarda.

Incrustar en tu página

  1. En Formularios, en la fila de tu formulario, presiona Código para incrustar.
  2. Copia las dos líneas que te muestra.
  3. Pégalas dentro del HTML de tu página pública, donde quieras que aparezca el formulario.
  4. Guarda la página y visítala: el formulario ya funciona.

Cada envío queda registrado en la pestaña Respuestas del formulario, con fecha, origen (Web pública, Panel, Workflow) y todos los datos.

Ver las respuestas

En la lista de Formularios, click en el ícono del ojo. Verás cada respuesta con fecha, origen y usuario (si estaba logueado). Puedes exportar a CSV.

Redirección después de enviar

Por defecto se muestra un mensaje "Enviado correctamente" en la misma página. Si prefieres redirigir a otra (por ejemplo /gracias), el propio formulario tiene un campo para configurar la URL de redirección.

Restricciones de seguridad

  • Los formularios públicos solo pueden crear registros nuevos. No pueden editar existentes vía URL.
  • Validación server-side: los campos requeridos deben venir con valor.
  • Los archivos se validan por tipo MIME.
  • Rate limiting para evitar spam.

Prevenir spam

  • CAPTCHA — si tu formulario recibe spam, considera integrar reCAPTCHA o hCaptcha (consulta con tu equipo técnico).
  • Validación de correo — los campos tipo Email exigen formato válido con @.

Notificación por correo cuando llega un envío

Combinando con Notification Manager o con un workflow, puedes:

  • Recibir email cada vez que llega un formulario.
  • Asignar el envío a un vendedor.
  • Cambiar su estado (nuevo → contactado → cerrado).

¿Qué sigue?