Formularios
Cómo crear formularios en Grav
Cómo construir el formulario de contacto incluido en el Tema Editorial
En primer lugar, es importante entender cómo funcionan los formularios en Grav, así que es esencial leer los siguientes artículos:
FORMS IN MODULAR PAGES https://learn.getgrav.org/17/forms/forms/how-to-forms-in-modular-pages
Primero creamos la página de contacto que llamaremos "Contacto", y en la pestaña Avanzado elegimos "contact" como la plantilla de la página. Posteriormente, seleccionamos el modo de vista Expert y después del título: Contacto, insertaremos las siguientes líneas que explicaré a continuación (ten en cuenta la correcta sangría al escribir este código):
---
title: 'Contacta con nosotros'
routable: false
cache_enable: false
form:
name: contact-form
template: form-messages
action: /
classes: 'row gtr-50 gtr-uniform'
refresh_prevention: true
fields:
-
name: Nombre
label: false
placeholder: Nombre
validate:
required: true
message: 'El nombre es requerido'
autofocus: 'off'
autocomplete: 'on'
type: text
outerclasses: 'col-6 col-12-small'
classes: null
-
name: Email
label: false
placeholder: Email
validate:
required: true
message: 'Email es requerido'
type: email
outerclasses: 'col-6 col-12-small'
classes: null
-
name: Asunto
label: false
type: text
placeholder: Asunto
validate:
required: true
message: 'El asunto es requerido'
outerclasses: 'col-12 col-12-small'
classes: null
-
name: Mensaje
label: false
placeholder: Mensaje
validate:
required: true
message: 'Message is required'
type: textarea
outerclasses: 'col-12 col-12-small'
classes: null
rows: 10
-
name: Privacidad
type: checkbox
markdown: true
label: 'Al utilizar este formulario aceptas la nuestra <a href="privacy">Política de privacidad</a>'
validate:
required: true
message: 'Aceptar la política de privacidad es requerido'
buttons:
-
type: submit
value: Enviar
outerclasses: form-field
classes: 'button primary'
process:
save:
fileprefix: contact-
dateformat: dmY-His-u
extension: txt
body: "{% include 'forms/data.txt.twig' %}"
email:
subject: '[Form from Editorial Website] {{ form.value.name|e }}'
body: "{% include 'forms/data.html.twig' %}"
message: 'Gracias por su envío !'
display: /thankyou
reset: true
show_pageimage: true
image_width: 1000
image_height: 300
show_title: true
---
<h3>Envíenos sus comentarios</h3>
En tu carpeta raíz, crea una nueva página predeterminada llamada thankyou de tipo formulario y, en el modo Experto, agrega el siguiente código en Markdown:
---
title: 'Email enviado'
process:
markdown: true
twig: true
cache_enable: false
visible: false
---
## Su formulario ha sido enviado de forma satisfactoria
##### Le responderemos lo antes posible.
CONFIGURE EL PLUGIN EMAIL:
No olvide configurar el plugin Email, en la administración de Grav, con sus datos de servidor y sus crendenciales.