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.
Insertarlo en tu página
Desde el generador, sin copiar nada. En Páginas Web, bajo Insertar contenido de un módulo, aparece un botón por cada formulario publicado: al pulsarlo se pega en tu HTML, en el punto donde tengas el cursor. En el editor visual los mismos formularios están en la paleta, bajo De tus módulos: se arrastran al lienzo como cualquier bloque.
Si el botón dice "Todavía no hay formularios publicados en la web", el formulario existe pero está reservado al panel. Abre Formularios, entra al que quieras usar y marca disponible en la web pública. Es la misma casilla que decide si alguien sin cuenta puede enviarlo.
También puedes hacerlo a mano: en la fila del formulario, Código para incrustar te da las dos líneas para pegar donde quieras.
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.