Описание
Расширение **Custom 404** для phpBB 3.3.x предоставляет полноценную кастомизацию страницы ошибки 404. Вместо стандартного сообщения phpBB пользователи увидят красивую страницу с изображением и списком активных тем форума.
Возможности
- **Кастомное изображение** - возможность добавить изображение на страницу 404
- **Список активных тем** - автоматическое отображение последних активных тем
- **Умное определение 404** - автоматическое перехват различных типов ошибок
- **Совместимость** - работает со всеми стилями phpBB 3.3.x
- **Простое управление** - удобный интерфейс в административной панели
Установка
Автоматическая установка
1. Скачайте архив расширения
2. Распакуйте содержимое в папку `ext/custom404/` вашего форума
3. Перейдите в **Административная панель** → **Расширения**
4. Найдите "Custom 404 Error Page" и нажмите **Включить**
Ручная установка
1. Скопируйте все файлы расширения в папку `ext/custom404/`
2. Убедитесь, что структура папок соответствует
3. Очистите кэш форума
4. Включите расширение через ACP
Настройка
Настройка через ACP
1. Перейдите в **Административная панель** → **Расширения** → **Custom 404 Error Page**
2. Настройте параметры:
- **Изображение 404** - URL изображения для страницы ошибки
- **Количество тем** - сколько активных тем показывать (по умолчанию 5)
3. Нажмите **Отправить** для сохранения
Технические детали
Как это работает
1. **Event Listener** (`event/listener.php`) перехватывает несколько событий:
- `core.common` - ранняя проверка 404 условий
- `core.message_die_get_title_text` - модификация сообщения ошибки
- `core.page_header` - добавление переменных шаблона
- `core.page_footer` - замена шаблона
- `kernel.exception` - обработка исключений
2. **Умное определение 404** - расширение автоматически определяет различные типы ошибок:
- Несуществующие топики (`NO_TOPIC`)
- Несуществующие форумы (`NO_FORUM`)
- Ошибки доступа (`SORRY_AUTH_READ`)
- Отсутствующие посты (`NO_POSTS`)
- Текстовые фразы на русском и английском языках
3. **JavaScript замена** - если стандартная замена не сработала, JavaScript ищет элементы с текстом ошибки и заменяет их
4. **Активные темы** - автоматически загружает и отображает последние активные темы форума
База данных
Расширение использует таблицу `phpbb_config_text` для хранения настроек:
- `roma30_custom404_message` - кастомное сообщение
- `roma30_custom404_image` - URL изображения
- `roma30_custom404_topics_count` - количество отображаемых тем
Совместимость
- **phpBB:** 3.3.0 - 3.3.14
- **PHP:** 7.1.3+
- **Стили:** Все стандартные стили phpBB
Устранение неполадок
Расширение не появляется в ACP
1. Проверьте правильность структуры папок
2. Убедитесь, что файл `ext.php` существует и корректен
3. Очистите кэш форума
4. Проверьте права доступа к файлам (755 для папок, 644 для файлов)
Изображение не отображается
1. Проверьте правильность URL изображения
2. Убедитесь, что изображение доступно по указанному адресу
3. Проверьте настройки в ACP
Активные темы не показываются
1. Убедитесь, что в форуме есть темы
2. Проверьте настройку количества тем в ACP
3. Проверьте права доступа к темам
Обновление
1. Сделайте резервную копию настроек из `config_text`
2. Замените файлы расширения новыми версиями
3. Очистите кэш форума
4. Проверьте работу расширения
Удаление
1. Перейдите в **Административная панель** → **Расширения**
2. Найдите "Custom 404 Error Page" и нажмите **Отключить**
3. Удалите папку `ext/custom404/`
4. Очистите кэш форума
**Примечание:** При удалении расширения все настройки будут потеряны.
Поддержка
- **Автор:** roma30
- **Версия:** 1.0.0
- **Лицензия:** GPL-2.0
## Изменения
Версия 1.0.0
- Первоначальный релиз
- Поддержка кастомных изображений
- Автоматическое отображение активных тем
- Умное определение различных типов ошибок
- JavaScript fallback для замены сообщений
- Административный интерфейс
- Совместимость с phpBB 3.3.x