Здравствуйте. На сайте имеется 2 шаблона - template1 и template2. Все стили и визуальное отображение для 404 страницы настроено для работы с template1. У меня имеется страница, например, /news/, которая использует tempalte2. Внутри использую комплексный компонент news, в котором по факту вызывается вот этот метод с такими параметрами
Bitrix\Iblock\Component\Tools::process404(null,true, true, true, false);
Если при использовании ЧПУ я напишу что-то вроде такого /news/1142342342/ мне отдает 404 страницу, но там подключается template2 шаблон. В настройках шаблона сайта я сделал по условию, если есть константа 404 и она равна Y, то отдаем template1 (скрин 1).
По факту получается, что на странице /news/1142342342/ в начале нет информации о том, что это 404 ошибка (поэтому и не срабатывает условие из скрина 1). Как мне тогда подключить template2?
Так же пробовал такой метод в init.php, отрабатывает всё тоже неверно
Bitrix\Iblock\Component\Tools::process404(null,true, true, true, false);
Если при использовании ЧПУ я напишу что-то вроде такого /news/1142342342/ мне отдает 404 страницу, но там подключается template2 шаблон. В настройках шаблона сайта я сделал по условию, если есть константа 404 и она равна Y, то отдаем template1 (скрин 1).
По факту получается, что на странице /news/1142342342/ в начале нет информации о том, что это 404 ошибка (поэтому и не срабатывает условие из скрина 1). Как мне тогда подключить template2?
Так же пробовал такой метод в init.php, отрабатывает всё тоже неверно
Код |
---|
AddEventHandler("main", "OnEpilog", "handler404"); function handler404(){ if(defined('ERROR_404') && ERROR_404 == 'Y'){ global $APPLICATION; $APPLICATION->RestartBuffer(); require $_SERVER["DOCUMENT_ROOT"] . "/local/templates/template1/header.php"; require $_SERVER["DOCUMENT_ROOT"] . "/404.php"; require $_SERVER["DOCUMENT_ROOT"] . "/local/templates/template1/footer.php"; } } |