web-dev-qa-db-fra.com

Un moyen de remplacer le message "Erreur d'affichage de la page d'erreur: Erreur d'instanciation d'application"?

Quand il y a une erreur avec la base de données, Joomla lève cette erreur. Cela se produit si tôt dans le cycle d’exécution que rien dans l’application Joomla n’est prêt, de sorte que vous obtenez une page blanche laide avec le message d’erreur en texte simple.

Existe-t-il un moyen de le remplacer afin que ces erreurs soient dirigées par exemple vers une page d'erreur HTML statique? J'ai déjà vérifié cela

https://docs.joomla.org/Custom_error_pages

mais si je ne me trompe pas, cela ne fonctionnera pas pour ces erreurs, car cela nécessite plus de choses correctement chargées, ce qui n'est pas le cas.

Merci d'avance!

2
Isidro Baquero

Désolé pour la réponse tardive.

Oui, il est possible de le faire, mais vous devrez faire une petite modification sur le fichier principal index.php De Joomla situé dans le répertoire d'installation racine.

Brève explication: ce message d'erreur est en fait une exception levée par la méthode getApplication de la classe principale de Joomla JFactory. Vous ne pouvez donc pas simplement personnaliser le message d'erreur sans toucher un peu au coeur de Joomla.

Solution rapide: Tout ce que vous avez à faire est un try - catch lorsque la méthode getApplication est appelée. Pour ce faire, ouvrez le fichier index.php Situé dans le répertoire d’installation racine et recherchez un élément tel que $app = JFactory::getApplication('site'). Puis remplacez-le par les lignes ci-dessous:

try {
    $app = JFactory::getApplication('site');    
}
catch (Exception $e) {
    // Do something when the site cannot be instantiated.
    header('Location: my-error-file.html');
}
1
FlavioEscobar