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
| Etiqueta | Qué 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
- Constructor de formularios → Nuevo formulario.
- Ponle nombre (
Solicitud de servicio). - 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.
- Selecciona cada campo y define su etiqueta, si es obligatorio, y en las listas las opciones.
- Abajo a la izquierda configura el texto del botón, el mensaje de éxito y si estará disponible en la web pública.
- Guarda.
Incrustar en tu página
- En Formularios, en la fila de tu formulario, presiona Código para incrustar.
- Copia las dos líneas que te muestra.
- Pégalas dentro del HTML de tu página pública, donde quieras que aparezca el formulario.
- 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?
- Form Builder — el detalle del plugin.
- Login público y control de acceso — formularios que solo puedan enviar usuarios logueados.
- Notification Manager — recibir avisos cuando llega un formulario.