Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Meetups
@SergioCarracedoWeb developer at OPSOU
Php Developer Drupal enthusiast
@SergioCarracedo
Drupal http://www.drupal.org
Meetups
● Drupal es un CMS modular, multipropósito y muy configurable
● También es considerad...
Drupal http://www.drupal.org
Meetups
Meetups
Ciclo de Releases
Meetups
Versiones
● Las versiones mayores y sus módulos no son directamente compatibles https://www.drupal.
org/node/26136...
Meetups
Arquitectura (simplificación)
7
Entity
Node File Taxonomy User Others
Custom entities
(modules)
ex. Entityforms
Bl...
Meetups
Arquitectura contenidos (simplificación)
Entity
Properties Fields
● Autor
● Fecha
● Idioma
● Título
● Estado
● ….....
Meetups
Ejemplo de campos
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 i...
Extendiendo Drupal: Hooks
Meetups
● Permiten a los módulos indicar cómo manejar una solicitud en particular
● Generalmente...
Creación de un módulo
Meetups
● Los módulos se sitúan en la carpeta
○ sites/all/modules
■ sites/all/modules/contrib
■ site...
Manos a la obra
Meetups
Vamos a crear 2 módulos:
● El primero definirá
○ Una ruta (página)
○ Un permiso nuevo
○ Un bloque
...
Creación de un módulo (.info)
Meetups
Creación de un nuevo permiso
Meetups
Definición de rutas
Meetups
Definición de bloque(s)
Meetups
Contenido del bloque
Meetups
Contenido de la página
Meetups
Definición Formulario 1
Meetups
Definición Formulario 2
Meetups
Definición Formulario 3
Meetups
Formulario validación y envío
Meetups
Validación
Envío
Demo Time!
Meetups
Alteración de un formulario
Meetups
● Creamos un segundo módulo de la misma forma que el anterior
Alteración de un formulario
Meetups
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)
Demo Time 2
Meetups
Meetups
echo PHP_EOF;
¿Preguntas?
www.opsou.com www.pedrofigueras.comwww.casadellibro.com
Drupal  creación módulos, bloques, formularios y alters
Nächste SlideShare
Wird geladen in …5
×

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

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

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×