Socorro!! Un cliente antiguo que hace años que no toca la Web ha descubierto que ahora muestra un error terrible en muchas paginas; es este:
Deprecated: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in /home/csf/public_html/templates/gk_creativity/lib/framework/helper.layout.php on line 154
Deprecated: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in /home/csf/public_html/includes/application.php on line 536
He actualizado Joomla a la ultima versión 2.5 (la 28) pero no se arregla. No puedo actualizar la plantilla pues ya no tengo cuenta en JoomlaArt...
Alguna idea brillante para adecentar la Web? (está en proceso de cambio pero tardara aún meses en tener la nueva web, necesita una solución ya!)
URL del sitio: Contenido solo visible a usuarios registrados
Hola Xavier.
El problema lo tiene en la plantilla:
Deprecated: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in /home/csf/public_html/templates/gk_creativity/lib/framework/helper.layout.php on line 154
¿ En esa página tienes algun formulario ? si es así lo eliminas y revisa si se soluciona.
Comprueba el modulo que tienes añadido en esa posición y lo desactivas, por lo que veo las demas paginas cargan bien entonces es problema del modulo que tienes añadido en esa posición.
De todas formas si no actualiza estos problemas los tendrá continuamente y cuando soluciones uno te aparecera otro, todo son problemas de incompatibilidades.
Un saludo
Gracias por tan rápida respuesta!! La verdad es que ya no me acuerdo demasiado bien de manejar un Joomla pero ya veia que era un tema de plantilla, por eso decia que no la podia actualizar sin pagar (cosa que pretendo evitar si ha de cambiar la web). Los errores de funciones depreciadas son diferentes en función de la página. Por ejemplo, este otro:
Deprecated: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in /home/csf/public_html/templates/gk_creativity/lib/framework/helper.layout.php on line 154
Deprecated: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in /home/csf/public_html/includes/application.php on line 536
Este error si que sale en una pagina que tiene formulario, pero el primero que he enviado, no. Creo que el problema no es el formulario, me suena mas a un Slider o algo así.
En fin, a ver que hacemos. Hablo con el cliente.
Mil gracias.
Perdona Pepe, el error es el mismo....He encontrado que quizas se pueda ocultar el error, ya que puede ser una advertencia. Como lo ves?
Hola Xavier.
Es posible que sea un slider, como solución un poco radical es ver que modulos tienes añadidos en la home e ir desactivando los módulos hasta encontrar el que te está dando el problema y después ver si conseguimos alternativas para estos módulos, aunque ya te digo que es una versión que no recibe soporte, con lo que los módulos para esa versión tampoco se actualizan.
El dominio no esta en Webempresa por lo que poca informacion te podemos dar ya que no podemos comprobar lo que tiene instalado y la configuración de la cuenta.
Un saludo
Un saludo
Hola Pepe, gracias por estar ahi. estoy investigando el tema y te quiero dos cosas. Una, es que la Web por supuesto que está en Webempresa! (soy fan fiel desde hace años). El dominio esta en OVH pero todo apunta a Webempresa. Esto facilita vuestra ayuda, no??.
La otra cuestión es estudiar la posibilidad de evitar mostrar errores...parece ser que modificando php.ini quizas se pueda conseguir. Como lo ves?
Hola Javier.
Para ocultar los avisos accede a configuración global de Joomla!, pestaña servidor --> Informe de errores y selecciona la opción Ninguno
Un saludo
Lo acabo de hacer, pero el mensaje sigue saliendo....alguna otra idea?
Pepe, he hecho un cambio en el fichero "/home/csf/public_html/templates/gk_creativity/lib/framework/helper.layout.php" en la linia que daba el error, he cambiado:
$menu = JSite::getMenu();
Por:
$app = JFactory::getApplication();
$menu = $app->getMenu();
No tengo ni idea que consecuencias puede tener, pero desde luego el mensaje ya no sale.
Como lo ves?
Hola Xavier.
Perfecto, sin problemas, si se soluciono adelante 😉
Veo que toda la web carga bien y que no hay problemas.
Sobre el código, supongo que sera una funcion para el menu, si te das cuenta el menú aparece cuando haces scroll y puede ser que ese fuera el problema.
Nada, si se soluciono, cliente contento y tu con un problema menos..... 😉
Convence a tu cliente para que actualice, si no siempre estarás con estos problemas, piensa que los servidores también se actualizan para poder soportar las versiones nuevas que aparecen, PHP, BD, etc...
Un saludo
Si, si, está muy claro, justo ahora estaba pactando el cambio con el cliente a Wordpress. Gracias Pepe. hasta la proxima.