drupalcamp spain 2014: introducción al desarrollo de módulos en drupal 7
Post on 13-Jun-2015
657 Views
Preview:
DESCRIPTION
TRANSCRIPT
Introducción al desarrollo de módulos en Drupal 7
Ruben Egiguren17/05/2014
Acerca de mí
Ruben Egiguren a.k.a. keopxProfesional: www.isarea.com
Blog: www.keopx.net
Drupal: www.drupal.org/u/keopx
Miembro de:• Drupal association• Asociación Española de Drupal• G.D.O Basque Country• …
Drupal Developer, Software Libre enthusiast, new technologies and geek
Acerca de mí
Programador senior
Drupal Developer, Software Libre enthusiast, new technologies and geek
De qué hablaremosHablaremos de• Estándares• Herramientas• Organización de módulos• Organización de código• Código
¿Quién sabe de qué?
Conocer a los asistentes
•Instalación y crear contenido.
•Editar menús, bloques.
•Instalación y configuracion de modulos.
•Desarrollado algún módulo.
SIN MIEDO
Estándares
EstándaresDrupal code standars
• https://drupal.org/coding-standards (PHP)
• https://drupal.org/node/172169 (javascript)
• https://drupal.org/node/1886770 (CSS)
Documentación
• https://drupal.org/node/1354
EstándaresNetbeans setup
• Estándares: https://drupal.org/node/1019816
• Template: https://drupal.org/project/nb_templates
• Plugin:
• https://drupal.org/node/1764074
• https://github.com/HollyIT/NBDrupalDevel
Eclipse
• https://drupal.org/node/75242
HerramientasDrush
• http://drush.ws/
• https://github.com/drush-ops/drush
Devel
• https://drupal.org/project/devel
Coder
• https://drupal.org/project/coder
Estructura de directorios
Directorios• sites/all/modules/contrib - Contiene los módulos de Drupal.org. Nota: no
se modifican estos módulos, sino es para parches. Consejo: mover a
patches.
• sites/all/modules/custom - Módulos desarrollados.
• sites/all/modules/features - Si usa features, usa este directorio para
organizarlo.
• sites/all/themes/contrib - Contiene los temas de Drupal.org. Nota: usa
subtemas.
• sites/all/themes/custom - Temas propios o subtemas.
• sites/all/libraries - Contiene librerías de terceros como el editor wysiwyg
o plugins javascript.
Fuente: http://www.urbaninsight.com/2014/02/24/module-and-theme-organization
Estructura de directorios
Estructura de directoriosExisten múltiples opciones de usar los directorios de
módulos.
Mi preferencia:
|-- sites| |-- all/site_name| | |-- modules| | | |-- contrib| | | |-- custom| | | |-- features| | | |-- patches
Fuente: http://befused.com/drupal/module-directory-structure
Organizar el módulo
Módulo a medida.Los módulos suele tener esta estructura:● mimodulo.info - Fichero de informacion. https://drupal.org/node/542202● mimodulo.module - Fichero principal, implementación de hook● mimodulo.install - (Des)Instalador del módulo, esquema de información.● mimodulo.admin.inc - Callbacks del menú de administración, añadir/editar ● mimodulo.pages.inc - Callbacks de menú públicos, accesible para a todos● mimodulo.inc - Funciones adicionales.● includes/ - Contienen clases, vistas,...● templates/ - Fichero relacionados con el tema (*.tpl.php,...)● plugins/ - Este directorio para plugins como puede ser Ctools.● css/ - Estilos CSS.● images/ - Imagenes.● js/ - Javascript.
Fuente: http://www.urbaninsight.com/2014/02/24/module-and-theme-organization
Organizar el módulo
Qué deberíamos leer/conocer
Qué deberíamos leer/conocer
• Existe multitud de material el drupal.org
• Buscar no es difícil
• Lo difícil es saber qué buscar
• Algunas referencias
Qué deberíamos leer/conocer
ahh y sobre todo….
Qué deberíamos leer/conocer
CONTRIBUIRahh y sobre todo….
Qué deberíamos leer/conocer• Trabajando con el API de Drupal
• https://api.drupal.org/api/drupal
• Buenas prácticas
Qué deberíamos leer/conocerUno de los más habituales son los formularios que nos
aportan multitud de posibilidades.
• api.drupal.org/api/drupal/developer!topics!
forms_api_reference.html/7
Esquema del API de Form
• https://drupal.org/node/165104
Qué deberíamos leer/conocer
Creando nuestro módulo
Creando nuestro móduloEres nuevo creando módulos
• http://deeson-online.co.uk/labs/are-you-developer-new-drupal-read
Creating modules - a tutorial: Drupal 7.x
• https://drupal.org/node/1074360
Examples
• https://drupal.org/project/examples
¡Comenzamos!
Bonus
BonusDebug
• asociaciondrupal.es/taller-sobre-debugging-en-php
XDebug
• www.keopx.net/blog/configuracion-de-php-53-y-xdebug
Configuración del entorno:
• https://drupal.org/node/238805
BonusPor donde empezar a contribuir
Issue
• https://drupal.org/novice
• http://drupalize.me/videos/getting-started-issue-queue
Eskerrik asko zuen harretagaitik
GNU/GPL Licence
Gracias por vuestra atenciónThanks for your attention
Gràcies per la vostra atenció
top related