18
Anatomía de un módulo en Drupal 8 Javier Gómez Drupal Backend Developer (EUIPO) www.codigoweb.es @fjgomez2

Anatomia de un módulo en drupal 8

Embed Size (px)

Citation preview

Page 1: Anatomia de un módulo en drupal 8

Anatomía de un módulo en Drupal 8

Javier Gómez

Drupal Backend Developer (EUIPO)www.codigoweb.es

@fjgomez2

Page 2: Anatomia de un módulo en drupal 8

Drupal 7

• Hooks

Drupal 8

• AlgunosHooks• Symfony

Drupal 9

• Symfony

Evolución del código en Drupal

Page 3: Anatomia de un módulo en drupal 8

Symfony y Drupal 8ComponentesheredadosdeSymfony2:• Routing• HttpFoundation• Debug• DependencyInjection• Validator• Yaml• Serializer• Twig• EventDispatcher• ClassLoader• HttpKernel

Page 4: Anatomia de un módulo en drupal 8

Estructura Básica

• {drupal_path}/modules• {drupal_path}/sites/all/modules

Archivos y Carpetas

Page 5: Anatomia de un módulo en drupal 8

Info

{path_module}/test3.info.yml{path_module}/test3.info

• Archivodeinstalación• Contienelainformaciónbásicadelmódulo• Muysimilarenambasversiones

Page 6: Anatomia de un módulo en drupal 8

Menús, alias y rutas

• test3.routing.yml• Test3.module• Hook_menu()

hook_menu vs routing

• test3.links.menu.yml

Page 7: Anatomia de un módulo en drupal 8

Routing module_name.routing.yml

• Ruta• Path• Controller• Permisos• Formulario

test3.routing.yml

Page 8: Anatomia de un módulo en drupal 8

Controller

• Src/Controller/Test3Controller.php

• test3.routing.yml• Namespace\Class::Method

Page 9: Anatomia de un módulo en drupal 8

Configuración

• Formulario• ParecidoaController (namespace/class)• {module_path}/src/Form/{class_name}.php

• test3.routing.yml

• Formulario(Callback function)

• Hook_menu()

Page 10: Anatomia de un módulo en drupal 8

Configuración

• getFormId()• Lousamosparaespecificarelidalformulario.

• getEditableConfigNames()• Leeelnombredevariabledeconfiguraciónqueseráeditable.

• submitForm(array &$form,FormStateInterface $form_state)

• buildForm(array $form,FormStateInterface $form_state)

• validateForm(array &$form,FormStateInterface $form_state)

ConfigFormBaseFormStateInterface

• $form_id

• form_submit()

• hook_form()

• form_validate()

Page 11: Anatomia de un módulo en drupal 8

Configuración Formulario

• getFormId()

• getEditableConfigNames()

• validateForm()

• submitForm()

Page 12: Anatomia de un módulo en drupal 8

Configuración Formulario

• buildForm()

Page 13: Anatomia de un módulo en drupal 8

Configuración Formulario

Page 14: Anatomia de un módulo en drupal 8

Permisos

• Test3.permissions.yml

• test3.routing.yml• Permisoscustom

• Hook_permission()

• Hook_menu()• Permisoscustom

Page 15: Anatomia de un módulo en drupal 8

Ayuda

• hook_help() en{module_name}.module • hook_help() en{module_name}.module

Page 16: Anatomia de un módulo en drupal 8

DEMO

https://github.com/codigoweb-org/Drupal-8-Hello-World

Page 17: Anatomia de un módulo en drupal 8

Preguntas?

• https://www.drupal.org/docs/8/creating-custom-modules• https://www.drupal.org/docs/8/converting-drupal-7-modules-to-drupal-8

Documentación

Page 18: Anatomia de un módulo en drupal 8

Gracias!!

Javier GómezDrupal Backend Developer (EUIPO)

www.codigoweb.es@fjgomez2

www.linkedin.com/in/codigoweb