SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Introducción a la
programación en Joomla! (II)
Sobre mi
● Freelance
● Desarrollando en PHP desde 2010
● Desarrollando para Joomla! desde 2011
● En el top 50 de contribuidores a Joomla
● Algunas de mis contribuciones:
Searchtools, campo de tags, mejoras de
JLayout….
● Administrador Github Joomla
● Joomla! CMS v3.5 release managerTwitter: @phproberto
Cambios en el repositorio
● Convertido módulo en paquete
● Agregada librería reutilizable
https://github.com/phproberto/mod_phproberto_ghcard
Manifiesto paquete
Manifiesto XML: Idiomas
● Usar siempre cadenas de idioma
● Ordenar cadenas de idioma alfabéticamente
● Usar estructura común de cadenas de idioma:
○ MOD_GITHUB_CARD_BTN
○ MOD_GITHUB_CARD_COLUMN
○ MOD_GITHUB_CARD_ERROR
○ MOD_GITHUB_CARD_LABEL
○ MOD_GITHUB_CARD_MSG
○ MOD_GITHUB_CARD_PARAM
○ MOD_GITHUB_CARD_PARAM_DESC
○ MOD_GITHUB_CARD_PARAM_HINT
○ MOD_GITHUB_CARD_TAB
Manifiesto XML: campos personalizados
● El atributo addfieldpath puede asignarse a etiquetas fields y fieldset y puede cargarse más de
una fuente de campos en un mismo formulario.
● Usar siempre prefijos para los campos. Ver:
http://phproberto.com/en/blog/26-joomla-form-fields-rules-right-way
Campo personalizado
Campo personalizado (II)
Campo personalizado (III)
Javascript: recomendaciones
● Siempre cargar dependencias. No depender del core!
● Siempre encapsular llamadas a $ para evitar conflictos
con Mootools.
● Es recomendable esperar a que el DOM esté listo para
la mayoría de casos:
○ $(document).ready(function () { });
● archivo.js > código javascript embebido
● Archivos Javascript reutilizables
● Agregar un prefijo a objetos del DOM ligados a
javascript como “.js-”

Más contenido relacionado

Más de Roberto Segura

Using twig as rendering system for your Joomla extensions
Using twig as rendering system for your Joomla extensionsUsing twig as rendering system for your Joomla extensions
Using twig as rendering system for your Joomla extensionsRoberto Segura
 
TDD for joomla extensions
TDD for joomla extensionsTDD for joomla extensions
TDD for joomla extensionsRoberto Segura
 
Joomla Entity - API semántica para Joomla
Joomla Entity - API semántica para JoomlaJoomla Entity - API semántica para Joomla
Joomla Entity - API semántica para JoomlaRoberto Segura
 
Uso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaUso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaRoberto Segura
 
JLayout for extension developers
JLayout for extension developersJLayout for extension developers
JLayout for extension developersRoberto Segura
 
Plugin para-joomla-45-minutos
Plugin para-joomla-45-minutosPlugin para-joomla-45-minutos
Plugin para-joomla-45-minutosRoberto Segura
 
Git for joomla! development #JAB14
Git for joomla! development #JAB14Git for joomla! development #JAB14
Git for joomla! development #JAB14Roberto Segura
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteRoberto Segura
 

Más de Roberto Segura (9)

Using twig as rendering system for your Joomla extensions
Using twig as rendering system for your Joomla extensionsUsing twig as rendering system for your Joomla extensions
Using twig as rendering system for your Joomla extensions
 
TDD for joomla extensions
TDD for joomla extensionsTDD for joomla extensions
TDD for joomla extensions
 
Joomla Entity - API semántica para Joomla
Joomla Entity - API semántica para JoomlaJoomla Entity - API semántica para Joomla
Joomla Entity - API semántica para Joomla
 
Uso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaUso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomla
 
JLayout for extension developers
JLayout for extension developersJLayout for extension developers
JLayout for extension developers
 
Plugin para-joomla-45-minutos
Plugin para-joomla-45-minutosPlugin para-joomla-45-minutos
Plugin para-joomla-45-minutos
 
Joomla JLayout
Joomla JLayout Joomla JLayout
Joomla JLayout
 
Git for joomla! development #JAB14
Git for joomla! development #JAB14Git for joomla! development #JAB14
Git for joomla! development #JAB14
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynote
 

Último

Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.CZSOTEC
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfAnaRosaMontenegro
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsCZSOTEC
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxRAMIROANTONIOGALINDO
 

Último (7)

Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdf
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios Windows
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptx
 

Introducción a la programación para joomla (II)

  • 2. Sobre mi ● Freelance ● Desarrollando en PHP desde 2010 ● Desarrollando para Joomla! desde 2011 ● En el top 50 de contribuidores a Joomla ● Algunas de mis contribuciones: Searchtools, campo de tags, mejoras de JLayout…. ● Administrador Github Joomla ● Joomla! CMS v3.5 release managerTwitter: @phproberto
  • 3. Cambios en el repositorio ● Convertido módulo en paquete ● Agregada librería reutilizable https://github.com/phproberto/mod_phproberto_ghcard
  • 5. Manifiesto XML: Idiomas ● Usar siempre cadenas de idioma ● Ordenar cadenas de idioma alfabéticamente ● Usar estructura común de cadenas de idioma: ○ MOD_GITHUB_CARD_BTN ○ MOD_GITHUB_CARD_COLUMN ○ MOD_GITHUB_CARD_ERROR ○ MOD_GITHUB_CARD_LABEL ○ MOD_GITHUB_CARD_MSG ○ MOD_GITHUB_CARD_PARAM ○ MOD_GITHUB_CARD_PARAM_DESC ○ MOD_GITHUB_CARD_PARAM_HINT ○ MOD_GITHUB_CARD_TAB
  • 6. Manifiesto XML: campos personalizados ● El atributo addfieldpath puede asignarse a etiquetas fields y fieldset y puede cargarse más de una fuente de campos en un mismo formulario. ● Usar siempre prefijos para los campos. Ver: http://phproberto.com/en/blog/26-joomla-form-fields-rules-right-way
  • 10. Javascript: recomendaciones ● Siempre cargar dependencias. No depender del core! ● Siempre encapsular llamadas a $ para evitar conflictos con Mootools. ● Es recomendable esperar a que el DOM esté listo para la mayoría de casos: ○ $(document).ready(function () { }); ● archivo.js > código javascript embebido ● Archivos Javascript reutilizables ● Agregar un prefijo a objetos del DOM ligados a javascript como “.js-”