Home Artículos Articulos Problema Menu Joomla al Activar Cache

Problema Menu Joomla al Activar Cache

icoDetalles Artículo - Nivel : Intermedio-Avanzado, Versión Joomla : 1.5.x, Formato : texto y video.
La cache de Joomla nos permite optimizar nuestro sitio web acelerando el tiempo de respuesta al cliente final, pero hay que tener algunas consideraciones al activar esta opción ya que podrian presentarse algunos problemas con algunos módulos.

 

En el siguiente video se muestra el problema que ocurre al activar la cache en un menu de ejemplo y además dos posibles soluciones.

Suscríbete a monitojoomla en youtube para que puedas ver todos los videos publicados

 

Esquema general

Después de activar la cache desde el backend, configuración global y luego la opción de sistema, tal como muestra la siguiente imagen:

Activación de cache

Pueden ocurrir dos posibles problemas en un template que no se encuentra preparado para manejar este inconveniente tal como se muestra en la siguiente imagen

Esquema General

 

Solución 1 - Cambiando la configuración del módulo

La primera forma de solucionar este problema es cambiando la configuración del módulo menu, en el menú del backend de Gestor de módulos, elegimos el módulo de menú a configurar y luego en los parámetros avanzados cambiamos la opción de guardado en cache, tal como se muestra en la siguiente imagen

cambio de configuración del módulo

 

Solución 2 - Modificando el Template

Si queremos mantener el cache del menú, tendremos que corregir el problema modificando el template, agregamos las siguientes líneas de código a nuestro template (tener en cuenta que este código se basa en un menú simple sin subniveles)

 

En la parte superior del template, despúes de la comprobación de seguridad, agregamos la definición de una variable global para recuperar el item de menu actual, esta variable del sistema es $Itemid

defined('_JEXEC') or die('Restricted access');
global $Itemid;

Finalmente agregamos el script (usando mootools), ya sea dentro de la cabecera o en un archivo separado

 window.addEvent('domready',function(){

 var item = ".item"+<?php echo $Itemid; ?>;
 $$('.active').removeClass('active');
 $$(item).addClass('active');

 })

 

Conclusión

La optimización de un sitio web usando la opción de cache, nos brinda la posibilidad de mejorar la performance de nuestro sitio web, pero al realizar esta activación se debe tomar en cuenta los posibles inconvenientes que se pueden generar en algunos módulos.

 

 

Comparte este postDel.icio.us! Google! Live! Facebook! Twitter! Joomla Free PHP
Comentarios (8)
  • Juan Jose
    avatar
    Excelentes artículos es la mejor pagina sobre joomla...

    tenia este problema del cache tmb.. gracias

    tambien haber si se puede comentar en un articulo framework para plantillas como lo es t3 framework y gantry framework
  • Mariano
    avatar
    Era justo el problema q estaba teniendo!!!!!!!!!!

    Muchas Gracias!!!
  • vladimir
    avatar
    tengop un problema con el menu principal , yo elimine todos los munus y solo deje inicio luego ise mis categoria y la seciones y luego un articulo para enlasarlo a ese menu hasta ora todo bien el problema es que cuando boy al menu donde esta creado el nuevo menu y le doy al boton para que redirecione a al articulo corespondiente me redireciona pero no me carga el diseño de la pagina y los datos que e creado me aparesen en una pagina en blanco y no carga dicho contenido y se pierde el diseño y queda como si esa parte no estubiera n lasada al template
  • vladimir
    avatar
    vdm_music@hotmail.com
    me pueden escribir a ese correo
  • Paola
    avatar
    Gracias, me ayudaron un montón :D
  • Griss
    avatar
    No saben del apuro que me han sacado, era justo lo que me pasaba, me han ayudado enormemente, Felicidades!!!!!
  • alex
    avatar
    Gracias, muy buen articulo.
  • Ivanopoulo
    avatar
    Hola,gracias ante todo por tu trabajo de ayuda a la comunidad.
    Te expongo un problema parecido ,pero no igual al que expones aquí:
    Trabajo con joomla 1.6.6 y no puedo actualizar a 1.7, por que muchos módulos dejarían de funcionar.
    Tengo unos menús que solo aparecen cuando inicias sesión.Si activo la cache de Conf Global en modo conservador o progresivo,aunque inicie sesión los menús se quedan desaparecidos.
    Si desactivo la cache en Conf Global todo vuelve a la normalidad, pero muy lenta la carga de la página.

    He intentado desactivar la caché del módulo,desde el back-end y el tema de escribir en la plantilla,no se que tendría que escribir
    para que la caché no afecte a los menús en absoluto.
    Para los menus estoy usando un modulo que se llama superfish_menú.

    Después el plugin cache de joomla no permite a nuevos usuarios registrarse ya que se le caduca la sesión por mucho q...
Escribir comentario
Gravatar enabled