Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Drupal creación módulos, bloques, formularios y alters

484 views

Published on

Introducción a la creación de módulos en Druapl realizada en #PHPVigo

  • Login to see the comments

  • Be the first to like this

Drupal creación módulos, bloques, formularios y alters

  1. 1. Meetups @SergioCarracedoWeb developer at OPSOU Php Developer Drupal enthusiast @SergioCarracedo
  2. 2. Drupal http://www.drupal.org Meetups ● Drupal es un CMS modular, multipropósito y muy configurable ● También es considerado un Framefork full stack ● Escrito en PHP (Apache, Nginx, or Microsoft IIS) ○ Diferentes versiones mínimas según versión de drupal https://www.drupal.org/requirements ■ Drupal 8: PHP 5.5.9 or higher ■ Drupal 7: PHP 5.2.5 or higher (5.4 or higher recommended). ■ Drupal 6: PHP 5.x only (5.2.5 or higher recommended). ○ Como motor de BBDD emplea MySQL | PostgreSQL | (SQLi) ○ Microsoft SQL Server o Oracle soportados mediante modulos ○ Puede funcionar en parte sobre MongoDB (https://www.drupal.org/project/mongodb)
  3. 3. Drupal http://www.drupal.org Meetups
  4. 4. Meetups Ciclo de Releases
  5. 5. Meetups Versiones ● Las versiones mayores y sus módulos no son directamente compatibles https://www.drupal. org/node/2613652 ○ Cada nueva versión se reescribe para ofrecer mejoras, escalabilidad y mayor rendimiento aunque comparten conceptos. ○ Herramientas de conversión “automática” de módulos y temas entre versiones D6 13/2/2008 24/2/2016 https://www.drupal.org/drupal-6-eol D7 5/01/2011 2020? D8 19/11/2015 ?? Symfony!!!
  6. 6. Meetups Arquitectura (simplificación) 7 Entity Node File Taxonomy User Others Custom entities (modules) ex. Entityforms Blocks Menus
  7. 7. Meetups Arquitectura contenidos (simplificación) Entity Properties Fields ● Autor ● Fecha ● Idioma ● Título ● Estado ● ….. Siempre relación 1:1 Se guardan en un solo campo en la BBDD Los tipos de campos son prácticamente ilimitados Son generalmente aportados por módulos (contribuidos o del núcleo) ej. Fecha, Geolocalización, Dirección Imágenes, Videos embebidos, Referencias, email Relación 1:1, o 1:N Se guardan en una tabla a parte de la BBDD, pueden almacenar valores complejos
  8. 8. Meetups Ejemplo de campos
  9. 9. Conceptos básicos Meetups Menu / Rutas: ● Cada una de las url de la página estén o no en un menú Bloques: ● Elementos de información que se pueden situar en cualquier parte de la página Forms: https://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7 ● Creación y validación de formularios Permisos: ● Permiso para cada acción que puede realizar el/los usuarios. Basado en roles
  10. 10. Extendiendo Drupal: Hooks Meetups ● Permiten a los módulos indicar cómo manejar una solicitud en particular ● Generalmente reciben variables como referencia, lo que permite modificarlas ● Los módulos pueden crear su propios hooks, para permitir extender su propia funcionalidad ● Lo módulos y temas comparten hooks, pero no son necesariamente los mismos https://api.drupal.org/api/drupal/includes!module.inc/group/hooks/7 https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme/7
  11. 11. Creación de un módulo Meetups ● Los módulos se sitúan en la carpeta ○ sites/all/modules ■ sites/all/modules/contrib ■ sites/all/modules/custom ○ sites/[site-name]/modules ● NUNCA en modules/ esta carpeta está reservada para los módulos del core ● Un módulo puede contener más de un módulo o submódulo en la misma carpeta ● Requieren mínimo 2 archivos ○ [module-name].info ○ [module-name].module ● Pueden importar más ficheros
  12. 12. Manos a la obra Meetups Vamos a crear 2 módulos: ● El primero definirá ○ Una ruta (página) ○ Un permiso nuevo ○ Un bloque ○ Un formulario ● El segundo modificará el formulario definido por el primer módulo
  13. 13. Creación de un módulo (.info) Meetups
  14. 14. Creación de un nuevo permiso Meetups
  15. 15. Definición de rutas Meetups
  16. 16. Definición de bloque(s) Meetups
  17. 17. Contenido del bloque Meetups
  18. 18. Contenido de la página Meetups
  19. 19. Definición Formulario 1 Meetups
  20. 20. Definición Formulario 2 Meetups
  21. 21. Definición Formulario 3 Meetups
  22. 22. Formulario validación y envío Meetups Validación Envío
  23. 23. Demo Time! Meetups
  24. 24. Alteración de un formulario Meetups ● Creamos un segundo módulo de la misma forma que el anterior
  25. 25. Alteración de un formulario Meetups
  26. 26. Formulario validación y envío Meetups Validación (no reemplaza a la del módulo 01) Envío (no reemplaza a la del módulo 01)
  27. 27. Demo Time 2 Meetups
  28. 28. Meetups echo PHP_EOF; ¿Preguntas?
  29. 29. www.opsou.com www.pedrofigueras.comwww.casadellibro.com

×