Любой способ переопределить сообщение об ошибке «Ошибка отображения ошибки: сообщение об ошибке приложения»?

Когда в базе данных произошла ошибка, Joomla выдает эту ошибку. Это происходит так рано в цикле выполнения, что ничего из приложения Joomla не готово, поэтому вы получаете уродливую пустую страницу с сообщением об ошибке в простом тексте.

Есть ли способ переопределить это, чтобы эти ошибки были направлены, например, на статическую страницу ошибок HTML? Я уже проверил это

https://docs.joomla.org/Custom_error_pages

, но если я не ошибаюсь, это не будет работать для этих ошибок, так как это требует большего количества загружаемых файлов, что не так.

Спасибо заранее!

2 голоса | спросил Isidro Baquero 5 Jpm1000000pmMon, 05 Jan 2015 15:43:47 +030015 2015, 15:43:47

1 ответ


1

Извините за поздний ответ.

Да, это можно сделать, но вам нужно будет сделать небольшое редактирование в главном файле index.php Joomla, расположенном в корневой каталог установки.

Краткое объяснение: это сообщение об ошибке на самом деле является исключением, созданным методом getApplication основного класса Joomla JFactory. Поэтому вы не можете просто настроить сообщение об ошибке, не касаясь ядра Joomla немного.

Быстрое решение: Все, что вам нужно сделать, это try-catch , когда метод getApplication. Для этого откройте файл index.php, расположенный в корневом каталоге установки, и найдите что-то вроде $app = JFactory::getApplication('site'). Затем замените его строками ниже:

try {
    $app = JFactory::getApplication('site');    
}
catch (Exception $e) {
    // Do something when the site cannot be instantiated.
    header('Location: my-error-file.html');
}
ответил FlavioEscobar 18 AM00000060000002131 2015, 06:04:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132