formularios en drupal 8

63
Formularios en Drupal 8 Luis Ortiz Ramos #DrupalcampSpain2015

Upload: atenea-tech

Post on 28-Jul-2015

56 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Formularios en Drupal 8

Formularios en Drupal 8

Luis Ortiz Ramos #DrupalcampSpain2015

Page 2: Formularios en Drupal 8

¡SPAM!“Spam wall” por freezelight. https://flic.

kr/p/eKfYX

Page 3: Formularios en Drupal 8
Page 4: Formularios en Drupal 8

Atenea tech

⚫ Somos expertos en Drupal

Page 5: Formularios en Drupal 8

Atenea tech

⚫ Somos expertos en Drupal⚫ Somos Siddharta, Oriol, Robert, David y Luis.

Page 6: Formularios en Drupal 8

Atenea tech

⚫ Somos expertos en Drupal⚫ Somos Siddharta, Oriol, Robert, David y Luis.⚫ Trabajamos para Estrella Damm, Dexeus,

Médicos Sin Fronteras, Infojobs, Greenpeace...

Page 7: Formularios en Drupal 8

Atenea tech

⚫ Somos expertos en Drupal⚫ Somos Siddharta, Oriol, Robert, David y Luis.⚫ Trabajamos para Estrella Damm, Dexeus,

Médicos Sin Fronteras, Infojobs, Greenpeace...

⚫ Estamos en Barcelona

Page 8: Formularios en Drupal 8

Atenea tech

⚫ Somos expertos en Drupal⚫ Somos Siddharta, Oriol, Robert, David y Luis.⚫ Trabajamos para Estrella Damm, Dexeus,

Médicos Sin Fronteras, Infojobs, Greenpeace...

⚫ Estamos en Barcelona⚫ Puedes contactar con nosotros en

[email protected]

Page 9: Formularios en Drupal 8

Formularios HTML

Page 10: Formularios en Drupal 8
Page 11: Formularios en Drupal 8
Page 12: Formularios en Drupal 8
Page 13: Formularios en Drupal 8

¡Los formularios son la p****!

Page 14: Formularios en Drupal 8
Page 15: Formularios en Drupal 8
Page 16: Formularios en Drupal 8
Page 17: Formularios en Drupal 8

¿Por qué una API para los formularios?

Page 18: Formularios en Drupal 8

⚫ Automatiza el flujo de trabajo

¿Por qué una API para los formularios?

Page 19: Formularios en Drupal 8

⚫ Automatiza el flujo de trabajo⚫ Proporciona mayor seguridad

¿Por qué una API para los formularios?

Page 20: Formularios en Drupal 8

⚫ Automatiza el flujo de trabajo⚫ Proporciona mayor seguridad⚫ Genera HTML consistente

¿Por qué una API para los formularios?

Page 21: Formularios en Drupal 8

⚫ Automatiza el flujo de trabajo⚫ Proporciona mayor seguridad⚫ Genera HTML consistente⚫ Permite la alteración de formularios

¿Por qué una API para los formularios?

Page 22: Formularios en Drupal 8

⚫ Automatiza el flujo de trabajo⚫ Proporciona mayor seguridad⚫ Genera HTML consistente⚫ Permite la alteración de formularios⚫ Permite la encapsulación de lógica compleja

¿Por qué una API para los formularios?

Page 23: Formularios en Drupal 8

Novedades en Drupal 8

Page 24: Formularios en Drupal 8

Novedades en Drupal 8

⚫ Orientado a Objetos

Page 25: Formularios en Drupal 8

Novedades en Drupal 8

⚫ Orientado a Objetos⚫ Nuevos elementos

Page 26: Formularios en Drupal 8

Novedades en Drupal 8

⚫ Orientado a Objetos⚫ Nuevos elementos

⚪ HTML5:⚫ tel, email, number, date, url, search, range

Page 27: Formularios en Drupal 8

Novedades en Drupal 8

⚫ Orientado a Objetos⚫ Nuevos elementos

⚪ HTML5:⚫ tel, email, number, date, url, search, range

⚪ avanzados:⚫ details, language_select, dropbutton, operations

Page 28: Formularios en Drupal 8

Definiendo un formulario

Page 29: Formularios en Drupal 8

Definiendo un formulario

⚫ Crear una clase⚪ que implemente \Drupal\Core\Form\FormInterface⚪ o que herede

⚫ \Drupal\Core\Form\FormBase⚫ \Drupal\Core\Form\ConfigFormBase⚫ \Drupal\Core\Form\ConfirmFormBase

⚫ Implementar⚪ getFormId

Page 30: Formularios en Drupal 8
Page 31: Formularios en Drupal 8

Construyendo un formulario

Page 32: Formularios en Drupal 8

Construyendo un Formulario

⚫ Implementar⚪ buildForm

Page 33: Formularios en Drupal 8
Page 34: Formularios en Drupal 8

Construyendo un Formulario

⚫ Implementar⚪ buildForm

⚫ Argumentos⚪ array $form

⚫ ‘elements’ y ‘#attributes’

Page 35: Formularios en Drupal 8
Page 36: Formularios en Drupal 8
Page 37: Formularios en Drupal 8

Construyendo un Formulario

⚫ Implementar⚪ buildForm

⚫ Argumentos⚪ array $form

⚫ ‘elements’ y ‘#attributes’⚪ FormStateInterface $form_state

⚫ values, storage, errors y redirect

Page 38: Formularios en Drupal 8

Validando un formulario

Page 39: Formularios en Drupal 8

Validando un formulario

⚫ Implementar:⚪ formValidate

Page 40: Formularios en Drupal 8
Page 41: Formularios en Drupal 8

Validando un formulario

⚫ Implementar:⚪ formValidate

⚫ Argumentos⚪ array $form

⚫ ‘elements’ y ‘#attributes’

Page 42: Formularios en Drupal 8

Validando un formulario

⚫ Implementar:⚪ formValidate

⚫ Argumentos⚪ array $form

⚫ ‘elements’ y ‘#attributes’⚪ FormStateInterface $form_state

⚫ values, storage, errors y redirect

Page 43: Formularios en Drupal 8

Procesando un formulario

Page 44: Formularios en Drupal 8

Procesando un formulario

⚫ Implementar:⚪ formSubmit

Page 45: Formularios en Drupal 8
Page 46: Formularios en Drupal 8

Procesando un formulario

⚫ Implementar:⚪ formSubmit

⚫ Argumentos⚪ array $form

⚫ ‘elements’ y ‘#attributes’

Page 47: Formularios en Drupal 8

Procesando un formulario

⚫ Implementar:⚪ formSubmit

⚫ Argumentos⚪ array $form

⚫ ‘elements’ y ‘#attributes’⚪ FormStateInterface $form_state

⚫ values, storage, errors y redirect

Page 48: Formularios en Drupal 8

Mostrando un formulariointegrando en una ruta

Page 49: Formularios en Drupal 8

Mostrando un formulario integrado en una ruta

⚫ En modules/example/example.routing.yml

Page 50: Formularios en Drupal 8
Page 51: Formularios en Drupal 8

Mostrando un formularioprogrammatically

Page 52: Formularios en Drupal 8
Page 53: Formularios en Drupal 8

Alterando un formulario

Page 54: Formularios en Drupal 8

Alterando un formulario

⚫ Igual que en Drupal 7

Page 55: Formularios en Drupal 8

Alterando un formulario

⚫ Igual que en Drupal 7

⚫ hook_form_alter⚫ hook_form_FORM_ID_alter

Page 56: Formularios en Drupal 8
Page 57: Formularios en Drupal 8

Pintando un formulario

Page 58: Formularios en Drupal 8

Pintando un formulario

⚫ Twig

Page 59: Formularios en Drupal 8

Pintando un formulario

⚫ Twig

⚫ form.html.twig⚫ form-element.html.twig⚫ form-element-label.html.twig⚫ input.html.twig⚫ select.html.twig⚫ textarea.html.twig⚫ ...

Page 60: Formularios en Drupal 8
Page 61: Formularios en Drupal 8