Drupal creación módulos, bloques, formularios y alters
-
Upload
sergio-carracedo-martinez -
Category
Presentations & Public Speaking
-
view
348 -
download
2
Transcript of Drupal creación módulos, bloques, formularios y alters
![Page 1: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/1.jpg)
![Page 2: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/2.jpg)
Meetups
@SergioCarracedoWeb developer at OPSOUPhp Developer Drupal enthusiast
@SergioCarracedo
![Page 3: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/3.jpg)
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)
![Page 4: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/4.jpg)
Drupal http://www.drupal.org
Meetups
![Page 5: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/5.jpg)
Meetups
Ciclo de Releases
![Page 6: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/6.jpg)
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!!!
![Page 7: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/7.jpg)
Meetups
Arquitectura (simplificación)
7
Entity
Node File Taxonomy User Others
Custom entities (modules)
ex. Entityforms
Blocks Menus
![Page 8: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/8.jpg)
Meetups
Arquitectura contenidos (simplificación)
Entity
Properties Fields
● Autor● Fecha● Idioma● Título● Estado● …..
Siempre relación 1:1Se 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:NSe guardan en una tabla a parte de la BBDD, pueden almacenar valores complejos
![Page 9: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/9.jpg)
Meetups
Ejemplo de campos
![Page 10: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/10.jpg)
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
![Page 11: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/11.jpg)
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/7https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme/7
![Page 12: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/12.jpg)
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
![Page 13: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/13.jpg)
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
![Page 14: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/14.jpg)
Creación de un módulo (.info)
Meetups
![Page 15: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/15.jpg)
Creación de un nuevo permiso
Meetups
![Page 16: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/16.jpg)
Definición de rutas
Meetups
![Page 17: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/17.jpg)
Definición de bloque(s)
Meetups
![Page 18: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/18.jpg)
Contenido del bloque
Meetups
![Page 19: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/19.jpg)
Contenido de la página
Meetups
![Page 20: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/20.jpg)
Definición Formulario 1
Meetups
![Page 21: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/21.jpg)
Definición Formulario 2
Meetups
![Page 22: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/22.jpg)
Definición Formulario 3
Meetups
![Page 23: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/23.jpg)
Formulario validación y envío
Meetups
Validación
Envío
![Page 24: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/24.jpg)
Demo Time!
Meetups
![Page 25: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/25.jpg)
Alteración de un formulario
Meetups
● Creamos un segundo módulo de la misma forma que el anterior
![Page 26: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/26.jpg)
Alteración de un formulario
Meetups
![Page 27: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/27.jpg)
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)
![Page 28: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/28.jpg)
Demo Time 2
Meetups
![Page 29: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/29.jpg)
Meetups
echo PHP_EOF;
¿Preguntas?
![Page 30: Drupal creación módulos, bloques, formularios y alters](https://reader034.fdocuments.es/reader034/viewer/2022042722/58a5d2c81a28ab6c2a8b6763/html5/thumbnails/30.jpg)
www.opsou.com www.pedrofigueras.comwww.casadellibro.com