SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
1.
Introducción al desarrollo
de módulos en Drupal 7
Ruben Egiguren
17/05/2014
2.
Acerca de mí
Ruben Egiguren a.k.a. keopx
Profesional: 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
3.
Acerca de mí
Programador senior
Drupal Developer, Software Libre enthusiast, new technologies and geek
4.
De qué hablaremos
Hablaremos de
• Estándares
• Herramientas
• Organización de módulos
• Organización de código
• Código
5.
¿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
11.
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.
Estructura de directorios
12.
Estructura de directorios
Existen 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
14.
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
16.
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
17.
Qué deberíamos leer/conocer
ahh y sobre todo….
18.
Qué deberíamos leer/conocer
CONTRIBUIR
ahh y sobre todo….
19.
Qué deberíamos leer/conocer
• Trabajando con el API de Drupal
• https://api.drupal.org/api/drupal
• Buenas prácticas
20.
Qué deberíamos leer/conocer
Uno 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