Clicky

Joomla 3.0 Fatal error: Call to undefined method stdClass::onDisplay()

joomla 3-0

Joomla nos sorprende de vez en cuando con errores que antes no habíamos visto aunque no hayamos realizado ninguna modificación ni actualización del sistema.

Este es el caso de este error en Joomla 3.0.1 que se me ha producido al crear un nuevo artículo desde la administración:

Fatal error: Call to undefined method stdClass::onDisplay() in /www/libraries/cms/editor/editor.php on line 459

OJO !! Antes de hacer cualquier cambio hay que asegurarnos que hacemos copia de seguridad de los ficheros que vamos a modificar.

Solución para Joomla 1.5

Abrir en archivo /libraries/joomla/html/editor.php y cambiar:

// Try to authenticate
$result[] = $plugin->onDisplay($editor);

por

// Try to authenticate
if (method_exists($plugin, 'onDisplay')) {
$result[] = $plugin->onDisplay($editor);
}

Yo en la versión en producción de Joomla 1.5.26 (La última de esa rama) estas líneas las tengo así:

// Try to authenticate -- only add to array if authentication is successful
$resultTest = $plugin->onDisplay($editor);
if ($resultTest) $result[] =  $resultTest;
}

Para Joomla 2.5.9 el archivo a modificar es también /libraries/joomla/html/editor.php y lo dejaremos como indico más abajo.

En Joomla 3.0, que es donde he tenido el error, cambiar en el archivo /libraries/cms/editor/editor.php

// Try to authenticate

if ($temp = $plugin->onDisplay($editor, $this->asset, $this->author))
 {
                
     $result[] = $temp;
 }

por

// Try to authenticate

if (method_exists($plugin, 'onDisplay')) {
                $temp = $plugin->onDisplay($editor, $this->asset, $this->author);
                $result[] = $temp;
            }


Jesus_Caceres