Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Formularios en Drupal 8

1.069 visualizaciones

Publicado el

La API de formularios de Drupal 8 da continuidad a una idea que se introdujo en los tiempos de Drupal 4.x. Ppromporciona una abstracción cómoda, segura, predecible y increiblemanete útil para crear y procesar formularios HTML. Cuando sabes como usarla. Y, definitivamente, deberiais saber hacerlo.

Drupal se basa en los formularios. Añadir contenido, crear usuarios, construir views o configurar opciones básicas, todo se logra rellenando y enviando un formulario. Son sin duda una de las partes más importantes de un Sistema de Gestion de Contenidos.

Esta sesión recorrerá el ciclo de vida de un formulario estandar de Drupal 8 desde que el programador lo crea al navegador del usuario y, de vuelta, para su validación y proceso.

Después de la sesión, quien atienda a ella, serà capaz de:
- Conocer que es la API de formularios y cuando usarla.
- Entender el proceso completo de un formulario en Drupal.
- Crear formularios usando la API.
- Entender FormInterface, FormBase y otras clases relacionadas.
- Conocer las mayores diferencias entre la API de Drupal 7 y la de Drupal 8.

Esta sesión cubrirá la API de formularios en profundidad y contiene contenido útil tanto para programadores experimentados como para los que están empezando a trabajar con formularios en Drupal.

El contenido de la sesión se centrará en Drupal 8 pero muchos de los conceptos de los que hablaremos són aplicables para Drupal 7 donde el proceso es el mismo y solo cambian los mecanismos para usarlo.

Publicado en: Software
  • Sé el primero en comentar

Formularios en Drupal 8

  1. 1. Formularios en Drupal 8 Luis Ortiz Ramos #DrupalcampSpain2015
  2. 2. ¡SPAM! “Spam wall” por freezelight. https://flic. kr/p/eKfYX
  3. 3. Atenea tech ⚫ Somos expertos en Drupal
  4. 4. Atenea tech ⚫ Somos expertos en Drupal ⚫ Somos Siddharta, Oriol, Robert, David y Luis.
  5. 5. Atenea tech ⚫ Somos expertos en Drupal ⚫ Somos Siddharta, Oriol, Robert, David y Luis. ⚫ Trabajamos para Estrella Damm, Dexeus, Médicos Sin Fronteras, Infojobs, Greenpeace...
  6. 6. 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
  7. 7. 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 hola@ateneatech.com
  8. 8. Formularios HTML
  9. 9. ¡Los formularios son la p****!
  10. 10. ¿Por qué una API para los formularios?
  11. 11. ⚫ Automatiza el flujo de trabajo ¿Por qué una API para los formularios?
  12. 12. ⚫ Automatiza el flujo de trabajo ⚫ Proporciona mayor seguridad ¿Por qué una API para los formularios?
  13. 13. ⚫ Automatiza el flujo de trabajo ⚫ Proporciona mayor seguridad ⚫ Genera HTML consistente ¿Por qué una API para los formularios?
  14. 14. ⚫ Automatiza el flujo de trabajo ⚫ Proporciona mayor seguridad ⚫ Genera HTML consistente ⚫ Permite la alteración de formularios ¿Por qué una API para los formularios?
  15. 15. ⚫ 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?
  16. 16. Novedades en Drupal 8
  17. 17. Novedades en Drupal 8 ⚫ Orientado a Objetos
  18. 18. Novedades en Drupal 8 ⚫ Orientado a Objetos ⚫ Nuevos elementos
  19. 19. Novedades en Drupal 8 ⚫ Orientado a Objetos ⚫ Nuevos elementos ⚪ HTML5: ⚫ tel, email, number, date, url, search, range
  20. 20. Novedades en Drupal 8 ⚫ Orientado a Objetos ⚫ Nuevos elementos ⚪ HTML5: ⚫ tel, email, number, date, url, search, range ⚪ avanzados: ⚫ details, language_select, dropbutton, operations
  21. 21. Definiendo un formulario
  22. 22. Definiendo un formulario ⚫ Crear una clase ⚪ que implemente DrupalCoreFormFormInterface ⚪ o que herede ⚫ DrupalCoreFormFormBase ⚫ DrupalCoreFormConfigFormBase ⚫ DrupalCoreFormConfirmFormBase ⚫ Implementar ⚪ getFormId
  23. 23. Construyendo un formulario
  24. 24. Construyendo un Formulario ⚫ Implementar ⚪ buildForm
  25. 25. Construyendo un Formulario ⚫ Implementar ⚪ buildForm ⚫ Argumentos ⚪ array $form ⚫ ‘elements’ y ‘#attributes’
  26. 26. Construyendo un Formulario ⚫ Implementar ⚪ buildForm ⚫ Argumentos ⚪ array $form ⚫ ‘elements’ y ‘#attributes’ ⚪ FormStateInterface $form_state ⚫ values, storage, errors y redirect
  27. 27. Validando un formulario
  28. 28. Validando un formulario ⚫ Implementar: ⚪ formValidate
  29. 29. Validando un formulario ⚫ Implementar: ⚪ formValidate ⚫ Argumentos ⚪ array $form ⚫ ‘elements’ y ‘#attributes’
  30. 30. Validando un formulario ⚫ Implementar: ⚪ formValidate ⚫ Argumentos ⚪ array $form ⚫ ‘elements’ y ‘#attributes’ ⚪ FormStateInterface $form_state ⚫ values, storage, errors y redirect
  31. 31. Procesando un formulario
  32. 32. Procesando un formulario ⚫ Implementar: ⚪ formSubmit
  33. 33. Procesando un formulario ⚫ Implementar: ⚪ formSubmit ⚫ Argumentos ⚪ array $form ⚫ ‘elements’ y ‘#attributes’
  34. 34. Procesando un formulario ⚫ Implementar: ⚪ formSubmit ⚫ Argumentos ⚪ array $form ⚫ ‘elements’ y ‘#attributes’ ⚪ FormStateInterface $form_state ⚫ values, storage, errors y redirect
  35. 35. Mostrando un formulario integrando en una ruta
  36. 36. Mostrando un formulario integrado en una ruta ⚫ En modules/example/example.routing.yml
  37. 37. Mostrando un formulario programmatically
  38. 38. Alterando un formulario
  39. 39. Alterando un formulario ⚫ Igual que en Drupal 7
  40. 40. Alterando un formulario ⚫ Igual que en Drupal 7 ⚫ hook_form_alter ⚫ hook_form_FORM_ID_alter
  41. 41. Pintando un formulario
  42. 42. Pintando un formulario ⚫ Twig
  43. 43. 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 ⚫ ...
  44. 44. Webgrafía ⚫ Form API in Drupal 8 https://www.drupal.org/node/2117411 ⚫ Form API Reference https://api.drupal.org/api/drupal/developer!topics! forms_api_reference.html/8 ⚫ Getting Started with Forms in Drupal 8 https://drupalize.me/blog/201401/getting-started- forms-drupal-8 ⚫ Changes in the Form API in Drupal 8 https://drupalize.me/blog/201501/changes-form-api- drupal-8 ⚫ Drupal 8 API https://api.drupal.org/api/drupal/8
  45. 45. ¿Preguntas? luis@ateneatech.com @luisortizramos

×