Corrigiendo Call to undefined method stdClass::onDisplay() en Joomla

Recientemente ayudamos a un cliente a corregir un problema presentado en joomla, el error puede presentarse debido a actualizaciones de versiones antiguas de joomla o por eliminar algun plugin sin desactivarlo previamente en el panel de administración, incluso por restaurar la base de datos en otra instalación y no copiar todas las carpetas de plugins activos.

En resumen, se debe a algun plugin perdido en el espacio.
El error se muestra como:

[code language=”style:"overflow:hidden;"”]Fatal error: Call to undefined method stdClass::onDisplay() in /usuario/libraries/joomla/html/editor.php on line 268[/code]

Para eliminar el error tan solo se debe identificar el plugin problematico y deshabilitarlo, una manera sencilla de encontrar el plugin con error es cambiar la linea 268 para imprimir el nombre del plugin en lugar de mostrar el error.

Para hacerlo reemplazamos la linea 268 de editor.php:

[code language=”style:"overflow:hidden;"”]$resultTest = $plugin->onDisplay($editor);[/code]

Por:

[code language=”style:"overflow:hidden;"”]//$resultTest = $plugin->onDisplay($editor);
if (method_exists($plugin, ‘onDisplay’)) {
$resultTest = $plugin->onDisplay($editor);
}
else{
$resultTest = false;
echo ‘<h4>Plugin con error: ‘.$plugin->name.'</h4>’;
}

[/code]

Ahora que conoces el plugin con error puedes desactivarlo o reinstalarlo desde el gestor de plugins de joomla.

Comentar