Field Types API: Field, widgets y formatters

1,066 views

Published on

Desarrollar tipos de campos (field types) en Drupal es sencillo una vez se conoce las bases. Crear tu propio field en ocasiones puede ser una mejora de usabilidad y/o rendimiento para tu proyecto. Si quieres aprender a crear tu propio field, conocer mejor Field Types API y ver un poco de código, esta es tu sesión.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,066
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Field Types API: Field, widgets y formatters

  1. 1. TITLE: Field Types API: Field, widgets y formattersPRESENTERS: Miguel Ordóñez
  2. 2. Quien Soy? Nombre: Miguel Ordóñez (mordonez) Twitter: http://twitter.com/miguelordonez Co-fundador de Ymbra© 2012_
  3. 3. Agenda Algunos conceptos Que es un Field Field API Como crear tu propio field Schema Widget Formatter Validation Algunas cosas a tener en cuenta Drupal 8 Referencias© 2012_
  4. 4. Algunos conceptos© 2012_
  5. 5. Algunos conceptos: Que es un FieldEs una pieza de funcionalidadque se adjunta a una entidad(nodo, taxonomia, usuario,etc...)© 2012_
  6. 6. Algunos conceptos: Field API“The Field API allows custom data fields to be attached toDrupal entities and takes care of storing, loading, editing,and rendering field data” (http://api.drupal.org) Field Attach API Field Field Info API language API Field CRUD API Field Field Storage API Types API Field API bulk data© 2012_
  7. 7. Algunos conceptos: Field Type, Widget, Formatter Un campo puede tener 3 piezas importantes • Field type. • Widget.© 2012_
  8. 8. Algunos conceptos: Field Type, Widget, Formatter y el Formatter.© 2012_
  9. 9. Ejemplo, Como crear un campo personalizado© 2012_
  10. 10. Ejemplo, Como crear un campo personalizado Vamos a crear un campo absurdo como ejemplo, lo utilizaremos para añadir participantes de la drupalcamp. El campo tendrá los campos: nombre, apellidos y el enlace al perfil de drupal.org Podremos decidir si queremos enlazar el participante a su perfil© 2012_ de drupal.
  11. 11. Ejemplo, Como crear un campo personalizado Creamos el módulo “participante” Creamos los ficheros .info, .install i .module© 2012_
  12. 12. Ejemplo, Como crear un campo personalizado: .info participante.info© 2012_
  13. 13. Ejemplo, Como crear un campo personalizado: Field Type participante.module (hook_field_info) * los literales mejor en inglés. Pero para el ejemplo se pusieron en español :-P© 2012_
  14. 14. Ejemplo, Como crear un campo personalizado: Field Type participante.install (hook_field_schema) Schema API: drupal.org/node/ 146843© 2012_
  15. 15. Ejemplo, Como crear un campo personalizado: Widget Crear el Widget d’entrada. Definimos la infomación básica del widget por medio hook_field_widget_info Utilizamos hook_field_widget_form para definir el formulario d’entrada del campo. Utilizamos hook_field_is_empty para validar que nuestro campo no está vacio.© 2012_
  16. 16. Ejemplo, Como crear un campo personalizado: Widget hook_field_widget_info© 2012_
  17. 17. Ejemplo, Como crear un campo personalizado: Widget participante.module© 2012_
  18. 18. Ejemplo, Como crear un campo personalizado: Widget Para añadir una validación, utilizaremos #element_validate© 2012_
  19. 19. Ejemplo, Como crear un campo personalizado: Widget hook_field_is_empty© 2012_
  20. 20. Ejemplo, Como crear un campo personalizado: Formatter Crearemos el formatter para mostrar los valores del campo. Utilizaremos hook_field_formatter_info para definir el formatter. Utilizaremos hook_field_formatter_view para definir la lógica de salida.© 2012_
  21. 21. Ejemplo, Como crear un campo personalizado: Formatter hook_field_formatter_info© 2012_
  22. 22. Ejemplo, Como crear un campo personalizado: Formatter hook_field_formatter_view© 2012_
  23. 23. Ejemplo, Como crear un campo personalizado: Formatter Utilizaremos hook_field_formatter_settings_summary y hook_field_formatter_settings_form para añadir elementos configurables del formatter.© 2012_
  24. 24. Ejemplo, Como crear un campo personalizado: Formatter hook_field_formatter_settings_form© 2012_
  25. 25. Ejemplo, Como crear un campo personalizado: Formatter hook_field_formatter_settings_summary© 2012_
  26. 26. Ejemplo, Como crear un campo personalizado: Formatter Algunos ejemplos de formatters: http:// customformatters.com© 2012_
  27. 27. Algunas cosas a tener en cuenta Un Field puede tener más de un formatter o widget a la vez. Se pueden crear campos personalizados sin crear widgets y viceversa.© 2012_
  28. 28. Drupal 8? CMI Widget y formatter como plugins en drupal 8 Field API vs OO© 2012_
  29. 29. Drupal 8? Text • text* Overview of the pluginification of Field API in Drupal 8: http://drupalsun.com/node/32450 © 2012_
  30. 30. Referencias http://api.drupal.org Field Types API: http://api.drupal.org/api/drupal/modules--field--field.api.php/ group/field_types/7 Examples for Developers: http://drupal.org/project/examples http://customformatters.com Overview of the pluginification of Field API in Drupal 8, http:// drupalsun.com/node/32450 Poutine Maker: An Introduction to the Field API in Drupal 7 (Part 1) http://evolvingweb.ca/story/poutine-maker-introduction-field-api-drupal-7- part-1 Field API - Field UI - Drupal 8 Form API Reference. http://api.drupal.org/api/drupal/developer!topics! forms_api_reference.html/7© 2012_
  31. 31. MUCHAS GRACIAS© 2012_

×