Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Marzo del 2018)
461 visualizaciones desde el 9 de Marzo del 2018
2,0 MB
31 paginas
Creado hace 12a (20/10/2012)
TITLE:
Field Types API: Field,
widgets y formatters
PRESENTERS:
Miguel Ordóñez
Quien Soy?
Nombre: Miguel Ordóñez (mordonez)
Twitter: http://twitter.com/miguelordonez
Co-fundador de Ymbra
© 2012_
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_
Algunos conceptos
© 2012_
Algunos conceptos: Que es un Field
Es una pieza de funcionalidad
que se adjunta a una entidad
(nodo, taxonomia, usuario,
etc...)
© 2012_
Algunos conceptos: Field API
“The Field API allows custom data fields to be attached to
Drupal entities and takes care of storing, loading, editing,
and rendering field data” (http://api.drupal.org)
Field
Info API
© 2012_
Field Attach APIField Storage APIField API bulk data Field CRUD APIField language APIField Types APIAlgunos conceptos: Field Type, Widget, Formatter
Un campo puede tener 3 piezas importantes
• Field type.
• Widget.
© 2012_
Algunos conceptos: Field Type, Widget, Formatter
y el Formatter.
© 2012_
Ejemplo, Como crear un campo personalizado
© 2012_
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
de drupal.
© 2012_
Ejemplo, Como crear un campo personalizado
Creamos el módulo
“participante”
Creamos los
ficheros .info, .install
i .module
© 2012_
Ejemplo, Como crear un campo personalizado: .info
participante.info
© 2012_
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_
Ejemplo, Como crear un campo personalizado: Field Type
participante.install (hook_field_schema)
Schema API:
drupal.org/node/
146843
© 2012_
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_
Ejemplo, Como crear un campo personalizado: Widget
hook_field_widget_info
© 2012_
Ejemplo, Como crear un campo personalizado: Widget
participante.module
© 2012_
Ejemplo, Como crear un campo personalizado: Widget
Para añadir una validación, utilizaremos
#element_validate
© 2012_
Ejemplo, Como crear un campo personalizado: Widget
hook_field_is_empty
© 2012_
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_
Ejemplo, Como crear un campo personalizado: Formatter
hook_field_formatter_info
© 2012_
Ejemplo, Como crear un campo personalizado: Formatter
hook_field_formatter_view
© 2012_
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_
Ejemplo, Como crear un campo personalizado: Formatter
hook_field_formatter_settings_form
© 2012_
Ejemplo, Como crear un campo personalizado: Formatter
hook_field_formatter_settings_summary
© 2012_
Ejemplo, Como crear un campo personalizado: Formatter
Algunos ejemplos de formatters: http://
customformatters.com
© 2012_
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_
Drupal 8?
CMI
Widget y formatter como plugins en drupal 8
Field API vs OO
© 2012_
Drupal 8?
Text
• text
* Overview of the pluginification of Field API in Drupal 8: http://drupalsun.com/node/32450
© 2012_
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_
MUCHAS GRACIAS
© 2012_
Comentarios de: Field Types API: Field, widgets y formatters - drupalcamp 2012 (0)
No hay comentarios