Enlaces rápidos en la administración de Joomla!

Escrito por | 01 Mayo 2013 | Publicado en Mayo 2013
Hace algún tiempo, con el objetivo de dar mayor rapidez a la navegación de la administración de Joomla, necesité crear una serie de enlaces rápidos para un componente que utilizaba frecuentemente. Te invito a que descubras cómo llevé a cabo esta tarea.

En Joomla 1.5

En Joomla 1.5, los desarroladores de componentes utilizaban a menudo JavaScript para agregar un icono de enlace rápido al panel de control. Funcionaba, pero era una solución sucia. La segunda opción que tenía era la de construir mi propio módulo de enlaces rápidos, instalarlo y asignarlo a la posición adecuada para que se mostrara junto al módulo de enlaces rápidos que existe en Joomla por defecto. Esto me daba la ventaja de poder utilizar el módulo en otras parte de la administración, pero el código de este módulo era prácticamente una copia del de Joomla, por lo que estaba duplicando código.

El evento onGetIcons

Desde Joomla 2.5 en adelante se ha añadido una nueva característica con respecto a este asunto. El módulo que se encarga de mostrar los enlaces rápidos en Joomla se llama "Quick Icons" (Enlaces Rápidos en español). Si te fijas en el archivo helper.php situado en administrator/modules/mod_quickicon podrás ver como se generan los enlaces en el método getButtons(). Se hace mediante un array de botones cada uno de ellos con una serie de atributos que luego el módulo se encarga de mostrar. Justo después de construir esta lista de botones se dispara el evento onGetIcons que hace que se ejecuten todos los plugins asociados al mismo.

Así que en lugar de crear otro módulo para la administración que muestre los enlaces rápidos que necesitamos, lo que tenemos que hacer es crear un plugin que añada nuestros enlaces a esa lista antes de que se muestre. Joomla ya está haciendo esto, concretamente al añadir los enlaces "Joomla! está actualizado" y "Las extensiones están actualizadas". Puedes ver estos plugins en plugins/quickicon.

El plugin MyIcons

He construido un plugin de ejemplo para ilustrar mejor el asunto. A este plugin lo he llamado MyIcons y simplemente añade el enlace "Añadir nuevo usuario" a la lista de enlaces rápidos que el módulo "Enlaces rápidos" muestra por defecto. Puedes descargarlo desde el repositorio GitHub MyIcons. Instala el plugin del mismo modo que instalas cualquier otra extensión en Joomla!. A continuación habilita el plugin en el "Gestor de Plugins". Ya está. Si ahora te diriges al panel de control podrás ver el nuevo enlace añadido en el módulo "Enlaces rápidos". De este modo ya no tengo que crear un nuevo módulo para añadir mis enlaces personalizados.

Personalizando un poco más

Todo esto es una buena solución al problema inicial. Pero ¿qué pasa si ahora necesito que el módulo de "Enlaces rápidos" sólo muestre los enlaces que he personalizado desde el plugin? Para esto hay otra solución muy simple para la que no tendrás que añadir más código ni duplicar el existente. En las opciones básicas del plugin que acabas de instalar (MyIcons) existe un parámetro llamado Grupo. Este valor se compara con el valor del parámetro del mismo nombre en los módulos del tipo "Enlaces rápidos". Esto quiere decir que podemos ir al Gestor de Módulos -> Administrador, Duplicar el módulo "Enlaces rápidos"(nótese que no se está duplicando el código del módulo sino que simplemente tendremos otra instancia del mismo módulo), Editarlo y asignar un nuevo Grupo como valor del parámetro. A continuación podremos ir al plugin MyIcons y asignar el mismo valor de Grupo en sus Opciones Básicas. De este modo, la segunda instancia del módulo "Enlaces rápidos" sólo mostrará los enlaces personalizados en el plugin y podremos colocar dicho módulo en una nueva posición más adecuada a nuestros requisitos consiguiendo nuevamente la ventaja comentada al inicio de este artículo.

Visto 4803 veces Etiquetado como Spanish, Administrador
Iván Ramos

Iván Ramos

Web software developer. Joomla! developer

Perfiles Sociales